Hola Beginer
Tu ejercicio está bien en parte
No se si has practicado con estas clases lo que se indica en esta imagen de la entrega actual
http://images4.hiboox.com/images/0512/972378d483812d5bb905251af93cccc0.jpgSe trata como ves de modificar los atributos de las clases creadas usando sus métodos 'set'
Y cuando en la clase Casa invocas el método
public void setSalon (SalonCasa salon), basta con indicarle el objeto de tipo SalonCasa creado o simplemente hacer clic en él para que se escriba automáticamente
Tu clase SalonCasa, está bien. El uso de la palabra reservada 'this' indica al compilador que nos referimos a los atributos propios de la clase. Perfecto
En la clase CocinaCasa creas el método
public boolean isEsIndependiente ()Que creo debería ser
public boolean getEsIndependiente ()Ya sabemos que los métodos que devuelven valores de los atributos de la clase, por convención se reconocen porque empiezan por la partícula 'get'
Si no utilizas esta convención te será dificil recordar que nombre le pusiste al getter del atributo 'esIndependiente'
Finalmente en la clase Casa tienes los setters y getters de los atributos primitivos perfectos, también están bien los getters
public SalonCasa getSalon (){return salon;}
public CocinaCasa getCocina (){return cocina;}En cambio el setter
public void setSalon (SalonCasa salon){
salon = new SalonCasa ();
salon.setNumeroDeTelevisores (salon.getNumeroDeTelevisores());
salon.setTipoSalon (salon.getTipoSalon());
}en la línea
salon = new SalonCasa ();invalidas el salon que recibes como parámetro al crear un salon con los valores por defecto
Si eliminas esta línea, tu setter queda perfecto
Igual sucede con el setter
public void setCocina (CocinaCasa cocina)Aunque estos métodos se pueden componer también de la siguiente forma
public void setSalon (SalonCasa salon){
this.salon = salon;
}
public void setCocina (CocinaCasa cocina){
this.cocina = cocina;
}Como ves son unos métodos más compactos. En una sola línea de código traspasas todos los atributos del objeto SalonCasa, tanto si tiene 2 como es el caso como si tiene 10.
Estos nuevos enfoques tienes que tenerlos en cuenta a partir de ahora, en que además de trabajar con atributos de tipo primitivos (int, float,etc..) estamos trabajando con atributos de tipos creados por nosotros (SalonCasa, CocinaCasa)
Saludos