Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: MrClassic en 16 de Enero 2015, 08:32
-
Entrega nº32 del curso "Aprender programación Java desde cero", quedo en espera de recomendaciones. (CU00632B)
public class Medico{
/*Properties*/
private String nombre;
private String apellidos;
private int edad;
private boolean casado;
private String numDocIdentidad;
private String especialidad;
/*contructor*/
public Medico(){
nombre="Desconocido";
apellidos="Desconocidos";
edad=0;
casado=false;
numDocIdentidad="Desconocido";
especialidad="Desconocida";
}
/*Setters*/
public void setNombre(String valueNombre){
System.out.println("El nombre del medico "+ nombre + " y apellidos " + apellidos + " ha cambiado");
nombre=valueNombre;
System.out.println("El nuevo nombre es " + nombre);
}
public void setApellidos(String valueApellidos){
System.out.println("El apellido del medico " + nombre + " y apellidos " + apellidos + " ha cambiado");
apellidos=valueApellidos;
System.out.println("Su nueveo apellido es " + apellidos);
}
public void setEdad(int valueEdad){
System.out.println("La edad del medico " + nombre + " " + apellidos + " ha cambiado");
edad=valueEdad;
System.out.println("Su nueva edad es " + edad);
}
public void setCasado(boolean valueCasado){
System.out.println("El estado civil del medico " + nombre + " y de apellidos " + apellidos + " ha cambiado");
casado=valueCasado;
System.out.println("Es su estado civil actual casado? " + casado);
}
public void setNumDocIdentidad(String valueNumDocIdentidad){
System.out.println("El numero de identidad del medico " + nombre + " y de apellidos " + apellidos + " ha cambiado");
numDocIdentidad=valueNumDocIdentidad;
System.out.println("Su nuevo numero de identidad es " + numDocIdentidad);
}
public void setEspacialidad(String valueEspecialidad){
System.out.println("La nueva especialidad del medico " + nombre + " y de apellidos " + apellidos + " ha cambiado");
especialidad=valueEspecialidad;
System.out.println("Su nueva especialidad es " + especialidad);
}
/*Getters*/
public String getNombre(){
return nombre;
}
public String getApellido(){
return apellidos;
}
public int getEdad(){
return edad;
}
public boolean getCasado(){
return casado;
}
public String getNumDocIdentidad(){
return numDocIdentidad;
}
public String getEspecialidad(){
return especialidad;
}
}
-
Hola MrClassic
Tu ejercicio está perfecto.
Muestra los mensajes al invocar los setters de la clase.
Solo una cosa, aunque el método setEspacialidad es operativo y realiza su función, has de tomar cuidado al bautizar los métodos. Puede darse el caso que un día llames al método setEspecialidad y Java te diga que no encuentra ese método, y resulta que si, que no lo encuentra porque cambia una letra en su nombre.
Saludos y bienvenido
-
Ok, Recibido, Eres muy amable lo tendré muy en cuenta ya que son pequeños detalles que no se controlan y mas adelante pueden acarrear graves problemas.
Una pregunta.
Revisando codigo de creación de clases me encontré con este donde inicialmente todo esta igual es decir al crear las propiedades, pero luego crean un constructor vacío, luego al mismo constructor se le asigna los valores de las variables por parámetro, para luego implementar los setters y getters como hemos aprendido en el curso.
quisiera saber, si esto es otra forma de hacer lo mismo o si esto se utiliza en otros casos específicos.
Gracias, adjunto el codigo.
public class Administrador {
private int documento;
private String rol;
private String nickname;
private String pswrd;
public Administrador(){}
public Administrador(int documento, String rol, String nickname, String pswrd){
this.documento=documento;
this.rol=rol;
this.nickname=nickname;
this.pswrd =pswrd;
}
public void setdocumento(int documento){
this.documento=documento;
}
public int getdocumento(){
return documento;
}
public void setrol(String rol){
this.rol=rol;
}
public String getrol(){
return rol;
}
public void setnickname(String nickname){
this.nickname=nickname;
}
public String getnickname(){
return nickname;
}
public void setpswrd(String pswrd){
this.pswrd=pswrd;
}
public String getpswrd(){
return pswrd;
}
-
Hola MrClassic
Si, es común crear más de un constructor (verás ejemplos más adelante), cada uno con el número de parámetros que conviene según nuestro interés.
Lo que no es común es que el constructor esté vacío habiendo como hay atributos en la clase. Es este caso se inicializan estos a sus valores por defecto.
Los int a cero y los String a cadena vacía.
Saludos