Hola Amateu:
Veo que es tu primer mensaje en el foro así que Bienvenido!
Estuve revisando tu ejercicio, y lo veo perfecto!
Como un agregado extra -ya que todo ha estado correctísimo- me gustaría plantearte lo siguiente a modo de "darle una vuelta más de tuerca al tema"...
Tú habías planteado en la clase Casa, el siguiente método:
public void setSalonCasa (SalonCasa valorSalonCasa)
{
salonCasa = valorSalonCasa;
}
Está perfecto como está codificado, hace lo que que debe hacer.
Sin embargo quisiera mostrarte una alternativa distinta de codificación de este método:
public void setSalonCasa(SalonCasa valorSalonCasa) {
salonCasa.setNumeroDeTelevisores(valorSalonCasa.getNumeroDeTelevisores());
salonCasa.setTipoSalon(valorSalonCasa.getTipoSalon());
}
Esta forma de codificar el método setSalonCasa también realiza lo que se pide en el ejercicio.
Nos podríamos plantear la siguiente pregunta ¿ambas formas son equivalentes? ¿es indistinto codificar de una manera o de otra?... tomémonos un tiempo para pensarlo y analizarlo.
La respuesta es que si bien ambas formas de codificación resuelven en nuestro caso particular el ejercicio que se plantea en la lección, hay diferencia entre una y otra forma.
Fíjate en lo siguiente: de la manera en que lo planteaste tu, lo que hacemos es asignarle al campo salonCasa, la referencia del objeto valorSalonCasa. Por lo tanto si se realizara cualquiera modificación al objeto valorSalonCasa, esas modificaciones se verían reflejadas cuando consultemos el objeto salonCasa (y viceversa) ¿ por qué? porque salonCasa apunta a valorSalonCasa, eso es lo que realiza la asignación: una asignación de referencias.
Ahora bien, si analizamos la segunda forma de codificar, vemos que el método lo que hace es asignar a los campos del objeto salonCasa, los valores de los campos del objeto valorSalonCasa. Pero ambos objetos siguen siendo independientes. Tanto salonCasa como valorSalonCasa referencian lugares de memorias distintos.
Todo lo dicho es aplicable también al método método setCocina.
Analízalo, y cualquier consulta estamos aqui para reveerlo.