Hola, las clases CocinaCasa y SalonCasa las tienes bien definidas.
Sin embargo la clase Casa no está bien definida.
Este constructor no está bien diseñado:
public Casa (double vSuperficie, String vDireccion, int vNumTV, String vTipoSalon, boolean vIndependiente, int vNumFuegos)
El constructor de una clase únicamente debe manejar atributos de la clase, y no de otras clases indirectamente. Por tanto no es correcto incluir en este constructor vNumTV, vTipoSalon, vIndependiente, etc.
También faltan en la clase Casa los métodos get y set.
Este otro constructor:
public Casa (double vSuperficie, String vDireccion, SalonCasa objetoSalon, CocinaCasa objetoCocina) {
superficie = vSuperficie;
direccion = vDireccion;
salonCasa = new SalonCasa();
cocina = new CocinaCasa();
}
Es algo más razonable, porque aquí si recibes como parámetros atributos de la clase. Pero al escribir
salonCasa = new SalonCasa();
cocina = new CocinaCasa();
Lo que haces es crear nuevos objetos con los atributos de defecto, por eso cuando los analizas no te muestra los valores de los objetos parámetro sino los valores de defecto, porque new lo que hace es crear un objeto nuevo.
¿Para qué te están sirviendo aquí los parámetros SalonCasa objetoSalon, CocinaCasa objetoCocina
Para nada, porque no los utilizas. De hecho, podrías dejar el constructor así y tendrías los mismos resultados:
public Casa (double vSuperficie, String vDireccion) {
superficie = vSuperficie;
direccion = vDireccion;
salonCasa = new SalonCasa();
cocina = new CocinaCasa();
}
Recomendación: repasar entregas anteriores y consultar este hilo
https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0 y este otro,
https://www.aprenderaprogramar.com/foros/index.php?topic=1238.0 ejecutando el código de estos hilos y tratando de entenderlo paso a paso
Si tienes dudas consulta
Saludos