Hola dimiste... Ya entendí porq el error y todo, corrí el código, creando los objetos de las clases con o sin parámetros y todo bien. Gracias!
...
Con respecto a.....
Ten cuidado cuando escribes los nombres de las propiedades, en la segunda forma, en el método "setCocinaCasa", lo tienes así:
public void setCocinaCasa(CocinaCasa valorCocina){cocina=valorCocinaCasa;}
y deberías de tenerlo así:
public void setCocinaCasa(CocinaCasa valorCocinaCasa){cocina=valorCocinaCasa;}
pero supongo que eso ha sido un error por descuido y no por no saberlo.
Lo acomodé pero colocándolo así...
public void setCocinaCasa(CocinaCasa valorCocina){cocina=valorCocina;}
Ya que llevo un orden q es colocando el mismo nombre del atributo solo agregándole el "valor.." q este caso es valorCocina y no colocándolo como dices "valorCocinaCasa" ya q no quiero enredarme agregando nuevas variables locales y q se parezcan al tipoObjeto como tal.
De todas formas, dejo el código ya arreglado...
public class SalonCasa{
private int numeroDeTelevisores;
private String tipoSalon;
public SalonCasa(){
numeroDeTelevisores=0;
tipoSalon="desconocido";
}
public SalonCasa(int valorNumeroDeTelevisores,String valorTipoSalon){
numeroDeTelevisores=valorNumeroDeTelevisores;
tipoSalon=valorTipoSalon;
}
public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){numeroDeTelevisores=valorNumeroDeTelevisores;}
public void setTipoSalon(String valorTipoSalon){tipoSalon=valorTipoSalon;}
public int getNumeroDeTelevisores(){return numeroDeTelevisores;}
public String getTipoSalon(){return tipoSalon;}
}
public class CocinaCasa{
private boolean esIndependiente;
private int numeroDeFuegos;
public CocinaCasa(){
esIndependiente=false;
numeroDeFuegos=0;
}
public CocinaCasa(boolean valorEsIndependiente,int valorNumeroDeFuegos){
esIndependiente=valorEsIndependiente;
numeroDeFuegos=valorNumeroDeFuegos;
}
public void setEsIndependiente(boolean valorEsIndependiente){esIndependiente=valorEsIndependiente;}
public void setNumeroDeFuegos(int valorNumeroDeFuegos){numeroDeFuegos=valorNumeroDeFuegos;}
public boolean getEsIndependiente(){return esIndependiente;}
public int getNumeroDeFuegos(){return numeroDeFuegos;}
}
public class Casa{
private double superficie;
private String dirección;
private SalonCasa salonCasa;
private CocinaCasa cocina;
public Casa(){
superficie=0.0;
dirección="";
salonCasa=new SalonCasa();
cocina=new CocinaCasa();
}
public Casa(double valorSuperficie,String valorDirección,SalonCasa valorSalonCasa,CocinaCasa valorCocina){
superficie=valorSuperficie;
dirección=valorDirección;
salonCasa=new SalonCasa(valorSalonCasa.getNumeroDeTelevisores(),valorSalonCasa.getTipoSalon());
cocina=new CocinaCasa(valorCocina.getEsIndependiente(),valorCocina.getNumeroDeFuegos());
}
public void setSuperficie(double valorSuperficie){superficie=valorSuperficie;}
public void setDirección(String valorDirección){dirección=valorDirección;}
public void setSalonCasa(SalonCasa valorSalonCasa){salonCasa=valorSalonCasa;}
public void setCocinaCasa(CocinaCasa valorCocina){cocina=valorCocina;}
public double getSuperficie(){return superficie;}
public String getDirección(){return dirección;}
public SalonCasa getSalonCasa(){return salonCasa;}
public CocinaCasa getCocinaCasa(){return cocina;}
}
Otra cosa, está forma de hacer el constructor (con parámetros) trabajando a los tipoObjeto de esa forma, es lo correcto verdad? Y esa forma se llama notación punto?.. Ya q leí en el curso q estos tipos de objetos no pueden ser tratados como los tipos primitivos, aunque por allí vi soluciones de este mismo ejercicio q lo trabajaban como tipos primitivos y pienso yo q no debería ser o estoy mal??
... Y Gracias de nuevo.