Java - Gestión de usuarios.

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Gestión de usuarios.

Publicado por Víctor (18 intervenciones) el 18/05/2021 20:57:16
Hola buenas quería resolver este ejercicio de POO pero me esta dificultando encontrar los atributos queriendo dividir en dos clases por herencia (Clase Persona(PADRE) y Clase Usuario(HIJA). Únicamente quería saber si me podían decir los atributos de estas dos clases.

Ejercicio:
La primera parte de nuestro desarrollo consistirá en crear las clases para la gestión de los usuarios en el sistema siguiendo los siguientes requisitos:
- Se almacenan los siguientes datos de un usuario: nombre, apellido1, apellido2, email, fecha de nacimiento, nombre de usuario, contraseña y el perfil del usuario. Se podrá crear un usuario solo con email, nombre de usuario y clave o bien con todos los datos. También almacena los datos de la dirección de envío y los datos de la dirección de facturación.
- Los datos de la dirección de envío y de facturación son los mismos: calle, número, portal, piso, puerta, código postal, municipio, provincia y país.
- El perfil del usuario tiene los siguientes datos: el nombre del perfil y el código del perfil. Por ejemplo: ADMINISTRADOR - ADM
En este momento del diseño de la aplicación se define un usuario como una persona, sin requisitos específicos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Gestión de usuarios. [SOLUCION]

Publicado por Billy Joel (874 intervenciones) el 18/05/2021 21:57:29
Lo primero es definir las clases accesorias Direccion y Perfil:
Direccion:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
public class Direccion {
 
    private String calle;
    private String numero;
    private String portal;
    private String piso;
    private String puerta;
    private String codigoPostal;
    private String municipio;
    private String provincia;
    private String pais;
 
    public Direccion(String calle, String numero, String portal, String piso, String puerta, String codigoPostal, String municipio, String provincia, String pais) {
        this.calle = calle;
        this.numero = numero;
        this.portal = portal;
        this.piso = piso;
        this.puerta = puerta;
        this.codigoPostal = codigoPostal;
        this.municipio = municipio;
        this.provincia = provincia;
        this.pais = pais;
    }
 
    @Override
    public String toString() {
        return "Calle: " + calle
                + "\n" + "Numero: " + numero
                + "\n" + "Portal: " + portal
                + "\n" + "Piso: " + piso
                + "\n" + "Puerta: " + puerta
                + "\n" + "Codigo Postal: " + codigoPostal
                + "\n" + "Municipio: " + municipio
                + "\n" + "Provincia: " + provincia
                + "\n" + "Pais: " + pais;
    }
 
    /**
     * @return the calle
     */
    public String getCalle() {
        return calle;
    }
 
    /**
     * @param calle the calle to set
     */
    public void setCalle(String calle) {
        this.calle = calle;
    }
 
    /**
     * @return the número
     */
    public String getNumero() {
        return numero;
    }
 
    /**
     * @param numero the número to set
     */
    public void setNumero(String numero) {
        this.numero = numero;
    }
 
    /**
     * @return the portal
     */
    public String getPortal() {
        return portal;
    }
 
    /**
     * @param portal the portal to set
     */
    public void setPortal(String portal) {
        this.portal = portal;
    }
 
    /**
     * @return the piso
     */
    public String getPiso() {
        return piso;
    }
 
    /**
     * @param piso the piso to set
     */
    public void setPiso(String piso) {
        this.piso = piso;
    }
 
    /**
     * @return the puerta
     */
    public String getPuerta() {
        return puerta;
    }
 
    /**
     * @param puerta the puerta to set
     */
    public void setPuerta(String puerta) {
        this.puerta = puerta;
    }
 
    /**
     * @return the códigoPostal
     */
    public String getCodigoPostal() {
        return codigoPostal;
    }
 
    /**
     * @param codigoPostal the códigoPostal to set
     */
    public void setCodigoPostal(String codigoPostal) {
        this.codigoPostal = codigoPostal;
    }
 
    /**
     * @return the municipio
     */
    public String getMunicipio() {
        return municipio;
    }
 
    /**
     * @param municipio the municipio to set
     */
    public void setMunicipio(String municipio) {
        this.municipio = municipio;
    }
 
    /**
     * @return the provincia
     */
    public String getProvincia() {
        return provincia;
    }
 
    /**
     * @param provincia the provincia to set
     */
    public void setProvincia(String provincia) {
        this.provincia = provincia;
    }
 
    /**
     * @return the pais
     */
    public String getPais() {
        return pais;
    }
 
    /**
     * @param pais the pais to set
     */
    public void setPais(String pais) {
        this.pais = pais;
    }
}

La clase Perfil
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class Perfil {
 
    private String nombre;
    private String codigo;
 
    public Perfil(String nombre, String codigo) {
        this.nombre = nombre;
        this.codigo = codigo;
    }
 
    @Override
    public String toString() {
        return nombre + " - " + codigo;
    }
 
    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }
 
    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
    /**
     * @return the codigo
     */
    public String getCodigo() {
        return codigo;
    }
 
    /**
     * @param codigo the codigo to set
     */
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }
}

Entonces creamos la clase Persona que tendría los datos básicos de una persona
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
public class Persona {
 
    private String nombre;
    private String apellido1;
    private String apellido2;
    private String fechaNacimiento;
 
    public Persona(String nombre, String apellido1, String apellido2, String fechaNacimiento) {
        this.nombre = nombre;
        this.apellido1 = apellido1;
        this.apellido2 = apellido2;
        this.fechaNacimiento = fechaNacimiento;
    }
 
    @Override
    public String toString() {
        return nombre + " " + apellido1 + " " + apellido2 + " " + fechaNacimiento;
    }
 
    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }
 
    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
    /**
     * @return the apellido1
     */
    public String getApellido1() {
        return apellido1;
    }
 
    /**
     * @param apellido1 the apellido1 to set
     */
    public void setApellido1(String apellido1) {
        this.apellido1 = apellido1;
    }
 
    /**
     * @return the apellido2
     */
    public String getApellido2() {
        return apellido2;
    }
 
    /**
     * @param apellido2 the apellido2 to set
     */
    public void setApellido2(String apellido2) {
        this.apellido2 = apellido2;
    }
 
    /**
     * @return the fechaNacimiento
     */
    public String getFechaNacimiento() {
        return fechaNacimiento;
    }
 
    /**
     * @param fechaNacimiento the fechaNacimiento to set
     */
    public void setFechaNacimiento(String fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }
}

Y terminamos con la clase Usuario
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
public class Usuario extends Persona {
 
    private String email;
    private String nombreUsuario;
    private String clave;
    private Direccion direccion;
    private Perfil perfil;
 
    public Usuario(String email, String nombreUsuario, String clave) {
        super(null, null, null, null);
        this.email = email;
        this.nombreUsuario = nombreUsuario;
        this.clave = clave;
    }
 
    public Usuario(String email, String nombreUsuario, String clave, String nombre, String apellido1, String apellido2, String fechaNacimiento) {
        super(nombre, apellido1, apellido2, fechaNacimiento);
        this.email = email;
        this.nombreUsuario = nombreUsuario;
        this.clave = clave;
    }
 
    public Usuario(String email, String nombreUsuario, String clave, String nombre, String apellido1, String apellido2, String fechaNacimiento, Direccion direccion) {
        super(nombre, apellido1, apellido2, fechaNacimiento);
        this.email = email;
        this.nombreUsuario = nombreUsuario;
        this.clave = clave;
        this.direccion = direccion;
    }
 
    public Usuario(String email, String nombreUsuario, String clave, String nombre, String apellido1, String apellido2, String fechaNacimiento, Direccion direccion, Perfil perfil) {
        super(nombre, apellido1, apellido2, fechaNacimiento);
        this.email = email;
        this.nombreUsuario = nombreUsuario;
        this.clave = clave;
        this.direccion = direccion;
        this.perfil = perfil;
    }
 
    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }
 
    /**
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }
 
    /**
     * @return the nombreUsuario
     */
    public String getNombreUsuario() {
        return nombreUsuario;
    }
 
    /**
     * @param nombreUsuario the nombreUsuario to set
     */
    public void setNombreUsuario(String nombreUsuario) {
        this.nombreUsuario = nombreUsuario;
    }
 
    /**
     * @return the clave
     */
    public String getClave() {
        return clave;
    }
 
    /**
     * @param clave the clave to set
     */
    public void setClave(String clave) {
        this.clave = clave;
    }
 
    /**
     * @return the perfil
     */
    public Perfil getPerfil() {
        return perfil;
    }
 
    /**
     * @param perfil the perfil to set
     */
    public void setPerfil(Perfil perfil) {
        this.perfil = perfil;
    }
 
    /**
     * @return the direccion
     */
    public Direccion getDireccion() {
        return direccion;
    }
 
    /**
     * @param direccion the direccion to set
     */
    public void setDireccion(Direccion direccion) {
        this.direccion = direccion;
    }
}

La clase Usuario tiene distintos constructores, así podemos inicializar un objeto de la clase con los distintos parámetros.

PD: Sobrecarga de métodos [buscalo]

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Gestión de usuarios. [SOLUCION]

Publicado por Víctor (18 intervenciones) el 19/05/2021 12:47:28
Que bien ya lo veo al fin claro muchísimas gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar