EJERCICIO
Define tres clases: Casa, SalonCasa y CocinaCasa. La clase SalonCasa debe tener como atributos numeroDeTelevisores (int) y tipoSalon (String) y disponer de un constructor que los inicialice a 0 y “desconocido”. La clase CocinaCasa debe tener como atributos esIndependiente (boolean) y numeroDeFuegos (int) y un constructor que los inicialice a false y 0. La clase Casa tendrá los siguientes atributos de clase: superficie (double), direccion (String), salonCasa (tipo SalonCasa) y cocina (tipo CocinaCasa). Define un constructor para la clase Casa que establezca a unos valores de defecto los atributos simples y que cree nuevos objetos si se trata de atributos objeto. Define otro constructor que reciba como parámetros la superficie, dirección y un objeto de tipo SalonCasa y otro de tipo CocinaCasa. Compila el código para comprobar que no presenta errores, y crea un objeto de tipo Casa usando el constructor que recibe parámetros. Ten en cuenta que antes tendrás que haber creado los objetos de tipo SalonCasa y CocinaCasa para poder pasárselos al constructor. Comprueba que el objeto Casa se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.
Salon
public class SalonCasa
{
private int numeroDeTelevisores;
private String tipoSalon;
public SalonCasa(){
numeroDeTelevisores = 0;
tipoSalon = "desconocido";
}
public SalonCasa(int valornumero,String valorsalon){
numeroDeTelevisores = valornumero;
tipoSalon = valorsalon;
}
public void setNumero(int valornumero){
numeroDeTelevisores = valornumero;
}
public void setSalon(String valorsalon){
tipoSalon = valorsalon;
}
public int getNumero(){return numeroDeTelevisores;}
public String getSalon(){return tipoSalon;}
}
Cocina
public class CocinaCasa
{
private boolean esIndependiente;
private int numeroDeFuegos;
public CocinaCasa(){
esIndependiente = false;
numeroDeFuegos = 0;
}
public CocinaCasa(boolean indepen,int fuego){
esIndependiente = indepen;
numeroDeFuegos = fuego;
}
public void setIndependiente(boolean valorindependiente){
esIndependiente = valorindependiente;
}
public void setFuego(int valorfuego){
numeroDeFuegos = valorfuego;
}
public boolean getIndependiente(){return esIndependiente;}
public int getFuego(){return numeroDeFuegos;}
}
Casa
public class Casa{
private double superficie;
private String direccion;
private SalonCasa salonCasa;
private CocinaCasa cocina;
public Casa(){
superficie = 0;
direccion = "";
salonCasa = new SalonCasa();
cocina = new CocinaCasa();
}
public Casa(double valorsuperficie,String valordireccion,SalonCasa objetoCasa,CocinaCasa objetoCocina){
superficie = valorsuperficie;
direccion = valordireccion;
salonCasa = new SalonCasa(objetoCasa.getNumero(), objetoCasa.getSalon());
cocina = new CocinaCasa(objetoCocina.getIndependiente(), objetoCocina.getFuego());
}
public void setSuperficie(double valorsuperficie){
superficie = valorsuperficie;
}
public void setDireccion(String valordireccion){
direccion = valordireccion;
}
public void setIndependiente(boolean valorindependiente){cocina.setIndependiente(valorindependiente);}
public void setFuego(int valorfuego){cocina.setFuego(valorfuego);}
public void setNumero(int valornumero){salonCasa.setNumero(valornumero);}
public void setSalon(String valorsalon){salonCasa.setSalon(valorsalon);}
public String getDatosCasa(){
String notele= "";
String nofuego = "";
int teles = salonCasa.getNumero();
String salon = salonCasa.getSalon();
boolean indepen = cocina.getIndependiente();
int fuego = cocina.getFuego();
if(teles==0){
notele = "No hay Televisores en Esta Casa";
}
else{
notele = teles + "";
}
if(fuego==0){
nofuego = "No hay fuegos en esta casa";
}
else{
nofuego = fuego + "";
}
String datosCasa = "la casa tiene las siguientes caracteristicas: 1-Televisores: " + notele + " ,2-Salon: " + salon + " ,3-Independiente: "
+ indepen + " ,4-Fuegos: " + nofuego + " ,5-direccion: " + direccion + " ,6-Superficie: " + superficie;
System.out.println(datosCasa);
return datosCasa;
}
public double getSuperficie(){return superficie;}
public String getDireccion(){return direccion;}
}