Hola, en SalonCasa y CocinaCasa ya lo tienes bien pero aquí habría que pensarlo:
public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
superficie = valorSuperficie;
direccion = valorDireccion;
salonDeEstaCasa = new SalonCasa (objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon() );
cocinaDeEstaCasa = new CocinaCasa (objetoCocinaCasa.getEsIndependiente(), objetoCocinaCasa.getNumeroDeFuegos() );
}
Lo que tú has hecho es crear nuevos objetos y está bien hecho, no puede decirse que sea un error, pero ¿Por qué no has hecho:
public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
superficie = valorSuperficie;
direccion = valorDireccion;
salonDeEstaCasa = objetoSalonCasa;
cocinaDeEstaCasa = objetoCocinaCasa;
}
Esto en realidad es distinto, porque dejas apuntando el atributo al mismo objeto que se recibió como parámetro, mientras que en el caso anterior el atributo apunta a un objeto distinto.
Los nombres todavía no los estás refinando bien, en lugar de setNumerodeTelevisores sería setNumeroDeTelevisores
En la clase Casa te siguen faltando los métodos set para los atributos que son objetos: en este caso debes recibir un objeto y asignárselo al atributo.
También te siguen faltando los métodos get para los atributos que son objetos: en este caso debes devolver el objeto que es el atributo de la clase, p.ej. public void getSalonDeEstaCasa () {return salonDeEstaCasa;} es decir, igual que puedes recibir y devolver tipos primitivos puedes recibir y devolver objetos.
Saludos!