Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: KeNnET en 12 de Marzo 2016, 22:32

Título: Java convención para inicializar los atributos o propiedades de clase CU00633B
Publicado por: KeNnET en 12 de Marzo 2016, 22:32
Buenas... Acabé el ejercicio CU00633B del curso Java desde cero, ¿podrian darme sus comentarios por favor?

Código: [Seleccionar]
public class Medico{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private String numeroDocumentoIdentidad;
    private String especialidad;
   
   public Medico(){
       nombre = "";
       apellidos = "";
       edad = 0;
       casado = true;
       numeroDocumentoIdentidad = "";
       especialidad = "";
    }
   
    public void setNombre (String valorNombre){
        nombre = valorNombre;
        System.out.println("Ha cambiado el nombre del medico a: " + nombre);
    }
    public void setApellidos(String valorApellidos){
        apellidos = valorApellidos;
        System.out.println("Ha cambiado los apellidos del medico a: " + apellidos);
    }
    public void setEdad(int valorEdad){
        edad = valorEdad;
        System.out.println("Ha cambiado la edad del medico a: " + edad);
    }
    public void setCasado(boolean valorCasado){
        casado = valorCasado;
        if (casado == true) {
            System.out.println("El estado civil del medico ha cambiado a: casado");}
            else {System.out.println("El estado civil del medico ha cambiado a: soltero");}
        }
        public void setNumeroDocumentoIdentidad(String valorNumeroDocumentoIdentidad){
            numeroDocumentoIdentidad = valorNumeroDocumentoIdentidad;
            System.out.println("Ha cambiado el documento identidad a: " + numeroDocumentoIdentidad);
        }
        public void setEspecialidad(String valorEspecialidad){
            especialidad = valorEspecialidad;
            System.out.println("Ha cambiado la especialidad del medico a: " + especialidad);
        }
       
        public String getNombre() {return nombre;}
        public String getApellidos() {return apellidos;}
        public int getEdad() {return edad;}
        public boolean getCasado() {return casado;}
        public String getNumeroDocumentoIdentidad() {return numeroDocumentoIdentidad;}
        public String getEspecialidad() {return especialidad;}
   
public void calculoParaMultiploEdad(){
    int moduloEdad;
    moduloEdad = edad % 5;
    moduloEdad = 5 - moduloEdad;
    System.out.println("El medico de nombre: " + nombre + "con especialidad: " + especialidad + "tendra una edad multiplo de 5 dentro de: " + moduloEdad + "años");
}
}
Título: Re:Java convención para inicializar los atributos o propiedades de clase CU00633B
Publicado por: Alex Rodríguez en 15 de Marzo 2016, 17:07
Hola KeNnET el ejercicio está bien resuelto

Comentarte que la inicialización de atributos normalmente se hace a "" para cadenas, 0 para valores numéricos y false para booleanos.

Por ello en lugar de casado = true; es recomendable usar casado = false; Esto es por convención, no es obligatorio pero es lo que se suele hacer

Saludos
Título: Re:Java convención para inicializar los atributos o propiedades de clase CU00633B
Publicado por: LEONH en 28 de Abril 2016, 20:47
Buenas tardes,

Tengo una pequeña duda. ¿Como reflejo la respuesta del método boolean como casado y no como "true"?. Lo quiero imprimir y lo que me da es true.

Gracias por tu ayuda.
Título: Re:Java convención para inicializar los atributos o propiedades de clase CU00633B
Publicado por: Alex Rodríguez en 30 de Abril 2016, 11:24
Hola LEONH, eso aprenderás a hacerlo más adelante en el curso, ahora no debes preocuparte por eso. Saludos.