El código es en general correcto pero algunas cosas merecen ser comentadas:
NO CORRECTO
public String getSalon () {
return "Salón tipo " + salonCasa.getTipoSalon() + ", con " +
salonCasa.getNumeroDeTelevisores() + " televisor/es.";
}
Se haría como:
public Salon getSalon () {
return salonCasa;
}
Un método get devuelve un atributo. En este caso si el atributo es un objeto, debemos devolver un objeto. Aunque al principio cuesta, hay que habituarse a trabajar con objetos
Lo mismo podemos decir de getCocina ()
CORRECTO PERO NO IDÓNEO
En lugar de (modo 1):
public void setSalon ( int numeroTV, String valorTipoSalon ) {
salonCasa.setNumeroDeTelevisores ( numeroTV );
salonCasa.setTipoSalon ( valorTipoSalon );
}
Podríamos pensar en (modo 2):
public void setSalon ( Salon valorSalon ) {
salonCasa = new Salon();
salonCasa.setNumeroDeTelevisores(valorSalon.getNumeroDeTelevisores());
salonCasa.setTipoSalon(valorSalon.getTipoSalon());
}
Ambas formas son posibles, y quizás debieras volver a revisar esto un poco más adelante (es decir, no le des ahora muchas vueltas porque más adelante lo verás más claro). La idea del modo 2 es copiar el objeto que se recibe para no inmiscuirnos en tareas que son propias de la clase Salon.
Con el modo 1 la clase Casa se estaría haciendo responsable de inicializar un objeto Salon, al crearlo con new y establecer sus atributos con setSalon. La responsabilidad de inicializar un Salon es (preferentemente) de la clase Salon y una clase no debe inmiscuirse en las tareas propias de otra clase (al menos en la medida de lo posible).
Como te digo no le des muchas vueltas, retén la idea para más adelante...