Autor Tema: Entrega CU00654B: Palabra clave this. Sobrecarga de nombres. Java  (Leído 3015 veces)

resakoso

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Para revisión...

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-----------------------------------------------------

Código: [Seleccionar]
public class Profesor {
   
    String nombre;
    String apellidos;
    int edad;
    boolean casado;
    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 void setNombre(String nombre){
        this.nombre=nombre;
    }
    public String getNombre(){
        return this.nombre;
    }
    public void setApellidos(String apellidos){
        this.apellidos=apellidos;
    }
    public String getApellidos(){
        return this.apellidos;
    }
    public void setEdad(int edad){
        this.edad=edad;
    }
    public int getEdad(){
        return this.edad;
    }
    public void setCasado(boolean casado){
        this.casado=casado;
    }
    public boolean getCasado(){
        return this.casado;
    }
    public void setEspecialista(boolean especialista){
        this.especialista=especialista;
    }
    public boolean getEspecialista(){
        return this.especialista;
    }
   
    public static void main(String[] args) {
        Profesor p1=new Profesor("Pepe","Garcia Garcia",38,true,true);
        System.out.println(p1.getNombre()+" "+p1.getApellidos()+" "+p1.getEdad()+" "+p1.getEspecialista()+" "+p1.getCasado());
        p1.setNombre("Juan");
        p1.setEdad(24);
        p1.setApellidos("Perez Perez");
        p1.setCasado(false);
        p1.setEspecialista(false);
        System.out.println(p1.getNombre()+" "+p1.getApellidos()+" "+p1.getEdad()+" "+p1.getEspecialista()+" "+p1.getCasado());
    }
   
}

« Última modificación: 18 de Noviembre 2014, 17:32 por Jorge lopez »

Gilding

  • Sin experiencia
  • *
  • Mensajes: 44
    • Ver Perfil
Re:Entrega CU00654B: Palabra clave this. Sobrecarga de nombres. Java
« Respuesta #1 en: 18 de Noviembre 2014, 12:27 »
Hola resakoso!

El ejercicio esta desarrollado correctamente. Solo te hago dos apuntes:
El primero es que deberías declarar los atributos de la clase Profesor como privados. Creo que en Java si no pones nada los declara como públicos (no tengo muchas nociones de Java jeje, todavía...), de todos modos es recomendable declararlos explicitamente para mayor claridad a la hora de leer el código. Es necesario que los atributos sean privados para que no puedan ser modificados por otra clase o la secuencia principal del programa, solo debe poderlos modificar la clase a la que pertenecen. Puedes hacer una prueba en el método main antes de realizar modificación alguna. Prueba a hacer esta llamada:
p1.nombre = "Manolo"
Esto no debería poder hacerse. Siempre tendríamos que recurrir al método setNombre().

El segundo apunte: si seguimos al pie de la letra el enunciado del ejercicio, todavía te faltaría crear un constructor para la clase Profesor que no requiera argumentos e inicialice los atributos "vacios".

Un saludo!
« Última modificación: 18 de Noviembre 2014, 17:33 por Jorge lopez »

resakoso

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re:Entrega CU00654B: Palabra clave this. Sobrecarga de nombres. Java
« Respuesta #2 en: 18 de Noviembre 2014, 14:50 »
Gracias Gilding, pues sí que se me ha olvidado el constructor... jajaja. En cuanto a lo de privado, todavía no he visto nada sobre eso pero gracias a tu aclaración ya veo por donde van los tiros.

Un saludo.
« Última modificación: 18 de Noviembre 2014, 17:34 por Jorge lopez »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".