Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: DcdacD en 26 de Enero 2015, 09:49

Título: CU00654B ejercicio curso java ejemplo uso de this en constructores
Publicado por: DcdacD en 26 de Enero 2015, 09:49
Os paso el ejercicio:

EJERCICIO

Define una clase Profesor considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y otro constructor que no reciba parámetros. El nombre de los parámetros debe ser el mismo que el de los atributos y usar this para asignar los parámetros recibidos a los campos del objeto. Crea los métodos para poder establecer y obtener los valores de los atributos, con sobrecarga de nombres y uso de this en los métodos setters (los que sirven para establecer el valor de los atributos). Compila el código para comprobar que no presenta errores, crea un objeto usando el constructor con sobrecarga. Comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto. Usa los métodos setters y comprueba que funcionen correctamente.
Código: [Seleccionar]
public class Profesor {
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;

    public Profesor(String nombre, String apellidos, int edad, boolean casado, boolean especialista) {
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.edad = edad;
        this.casado = casado;
        this.especialista = especialista;
    }
   
    public Profesor() {
        nombre ="";
        apellidos="";
        edad=0;
        casado = false;
        especialista=false;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public boolean isCasado() {
        return casado;
    }

    public void setCasado(boolean casado) {
        this.casado = casado;
    }

    public boolean isEspecialista() {
        return especialista;
    }

    public void setEspecialista(boolean especialista) {
        this.especialista = especialista;
    }
   
}
Un saludo y gracias por vuestra continua ayuda.
Título: Re:CU00654B
Publicado por: toni_apr en 26 de Enero 2015, 19:53
Hola DcdacD

En tu clase usas adecuadamente la palabra clave this. Bien.

También veo que has creado dos métodos:
isCasado y isEspecialista
que hacen las veces de los getters de los atributos casado y especialista.

Aunque estos métodos son válidos y operativos al 100% deberías bautizarlos igual que los demás atributos, es decir:
getCasado y getEspecialista

En el caso que quieras usar la partícula 'is' para indicar que se trata de atributos de tipo booleano, puedes hacer lo siguiente:
Bautizas los atributos como isCasado y isEspecialista, y así sus métodos serán:
getIsCasado, getIsEspecialista y setIsCasado, setIsEspecialista.
De esta forma tienes las dos cosas. Incorporas la particula 'is' en el nombre de un atributo booleano y sus getters y setters tienen los nombres adecuados.

Saludos