Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Lorenzo31 en 23 de Marzo 2015, 14:52
-
Buenas, entrego la solución del 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.
Comentar que en el constructor sin parametros he utilizado para probar, la otra forma de usar el this(parametros) en referencia al constructor creado en sobrecarga con el de sin parametros. (no se si se debe o mejor poner los campos uno a uno manual).
public class Profesor{
//Campos de Clase
private String nombre;
private String apellido;
private int edad;
private boolean casado;
private boolean especialista;
//Constructor con parámetros con mismo nombre que campos de Clase
public Profesor(String nombre, String apellido, int edad, boolean casado, boolean especialista){
this.nombre = nombre;
this.apellido = apellido;
this.edad = edad;
this.casado = casado;
this.especialista = especialista;
}
// Constructor sin parámetros
public Profesor(){
this("Juan", "Lopez", 40, false, true);
}
//Setters
public void setNombre(String nombre){
this.nombre = nombre; }
public void setApellido(String apellido){
this.apellido = apellido; }
public void setEdad(int edad) {
this.edad = edad; }
public void setCasado (boolean casado){
this.casado = casado;}
public void setEspecialista (boolean especialista){
this.especialista = especialista; }
//Getters
public String getNombre(){ return nombre; }
public String getApellido(){ return apellido; }
public int getEdad(){ return edad; }
public boolean getCasado(){ return casado; }
public boolean getEspecialista() { return especialista; }
} //cierre de Clase
-
Hola Lorenzo
Ejercicio correcto.
El uso de this en el constructor sin parámetros es válido. Lo único, es que se hace raro que cada profesor nuevo que venga se llame Juan en lugar de dejar la casilla vacía, es decir "" una cadena vacía, etc. etc...
El constructor sin parámetros se usa para asignar valores por defecto a los atributos.
Se pueden asingar los parámetros por defecto usando this. ¿Cómo lo harías?
Saludos
-
Si claro que se podria, simplemente con un this ("","",0,false,false). Era por probar una forma de inicializar distinta, si entiendo lo que quieres decir, es raro que todos los que se inicializan con el constructor vacío se llamen igual.
ok entiendo toni gracias.