Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: matru en 30 de Enero 2016, 00:54
-
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 superficie, String direccion, SalonCasa salonCasa, CocinaCasa cocina){
this.superficie = superficie;
this.direccion = direccion;
salonCasa = new SalonCasa(salonCasa.getNumeroDeTelevisores(), salonCasa.getTipoSalon());
cocina = new CocinaCasa(cocina.getEsIndependiente(),cocina.getNumeroDeFuegos());
}
public void setSuperficie(double superficie){
this.superficie = superficie;
}
public double getSuperficie(){return superficie;}
public void setDireccion(String direccion){
this.direccion = direccion;
}
public String getDireccion(){return direccion;}
public void setNumeroDeTelevisores(int numeroDeTelevisores){
salonCasa.setNumeroDeTelevisores(numeroDeTelevisores);
}
public int getNumeroDeTelevisores(){return salonCasa.getNumeroDeTelevisores();}
public void setTipoSalon(String tipoSalon){
salonCasa.setTipoSalon(tipoSalon);
}
public String getTipoSalon(){return salonCasa.getTipoSalon();}
public void setEsIndependiente(boolean esIndependiente){
cocina.setEsIndependiente(esIndependiente);
}
public boolean getEsIndependiente(){return cocina.getEsIndependiente();}
public void setNumeroDeFuegos(int numeroDeFuegos){
cocina.setNumeroDeFuegos(numeroDeFuegos);
}
public int getNumeroDeFuegos(){return cocina.getNumeroDeFuegos();}
}
public class CocinaCasa{
private boolean esIndependiente;
private int numeroDeFuegos;
public CocinaCasa(){
esIndependiente = false;
numeroDeFuegos =0;
}
public CocinaCasa(boolean esIndependiente, int numeroDeFuegos){
this.esIndependiente = esIndependiente;
this.numeroDeFuegos = numeroDeFuegos;
}
public void setEsIndependiente(boolean esIndependiente){
this.esIndependiente = esIndependiente;
}
public boolean getEsIndependiente(){return esIndependiente;}
public void setNumeroDeFuegos(int numeroDeFuegos){
this.numeroDeFuegos = numeroDeFuegos;
}
public int getNumeroDeFuegos(){return numeroDeFuegos;}
}
public class SalonCasa{
private int numeroDeTelevisores;
private String tipoSalon;
public SalonCasa(){
numeroDeTelevisores = 0;
tipoSalon = "desconocido";
}
public SalonCasa(int numeroDeTelevisores, String tipoSalon){
this.numeroDeTelevisores = numeroDeTelevisores;
this.tipoSalon = tipoSalon;
}
public void setNumeroDeTelevisores(int numeroDeTelevisores){
numeroDeTelevisores = numeroDeTelevisores;
}
public int getNumeroDeTelevisores(){return numeroDeTelevisores;}
public void setTipoSalon(String tipoSalon){
this.tipoSalon = tipoSalon;
}
public String getTipoSalon(){return tipoSalon;}
}
-
Hola matru, tu código está bien desarrollado. El único aspecto a mejorar se encuentra en la clase Casa. Aquí tienes los constructores bien definidos, pero luego tendrías que corregir esto:
- En la clase Casa no deben existir métodos para manipular atributos de otras clases. Por ejemplo getNumeroDeTelevisores no debe figurar en esta clase. Cada clase se encarga sólo de sus atributos (esto se llama cohesión de la clase).
- Hay que "empezar a pensar en objetos". En la clase Casa debes tener métodos setSalonCasa y getSalonCasa, así como getCocinaCasa y setCocinaCasa que trabajen con objetos. Para aclarar cómo se debe hacer esto te recomiendo que revises estos hilos:
https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0
https://www.aprenderaprogramar.com/foros/index.php?topic=1238.0
Con esto deberías ser capaz de corregir el ejercicio. Si tienes dudas consulta para intentar ayudarte.
Saludos