Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ThheMau en 02 de Septiembre 2014, 03:49
-
Hola a todos! Aqui les tengo la respuesta al ejercicoi. Segun lo que entendi de las indicicaciones eso es lo solicitado, pero si encuentran algo que no esta bien o que podria mejorar les agradeceria mucho que me lo hicieran saber.
Muchas gracias a todos!
Posdata: de nuevo disculpen la falta de tildes, pero vivo en USA y tengo la PC en ingles.
Clase casa:
public class casa{
double superficie;
String direccion;
private SalonCasa salonCasa;
private CocinaCasa cocina;
public casa (double valorSuperficie, String valorDireccion){
superficie=valorSuperficie;
direccion=valorDireccion;
salonCasa=new SalonCasa();
cocina=new CocinaCasa();
}
public void setNumeroDeTelevisores (int valorNumeroDeTelevisores){
salonCasa.setNumeroDeTelevisores(valorNumeroDeTelevisores);
}
public void setTipoSalon (String valorTipoSalon){
salonCasa.setTipoSalon(valorTipoSalon);
}
public void setEsIndependiente (boolean valorEsIndependiente){
cocina.setEsIndependiente(valorEsIndependiente);
}
public void setNumeroDeFuegos (int valorNumeroDeFuegos){
cocina.setNumeroDeFuegos (valorNumeroDeFuegos);
}
}
Clase SalonCasa
public class SalonCasa {
int numeroDeTelevisores;
String tipoSalon;
public SalonCasa (){
numeroDeTelevisores=0;
tipoSalon="desconocido";
}
public void setNumeroDeTelevisores (int valorNumeroDeTelevisores){
numeroDeTelevisores=valorNumeroDeTelevisores;
}
public void setTipoSalon (String valorTipoSalon){
tipoSalon=valorTipoSalon;
}
}
Clase CocinaCasa
public class CocinaCasa{
boolean esIndependiente;
int numeroDeFuegos;
public CocinaCasa (){
esIndependiente=false;
numeroDeFuegos=0;
}
public void setEsIndependiente(boolean valorEsIndependiente){
esIndependiente=valorEsIndependiente;
}
public void setNumeroDeFuegos (int valorNumeroDeFuegos){
numeroDeFuegos=valorNumeroDeFuegos;
}
}
-
Hola, te digo las cosas que tienes que corregir:
- En todas las clases te faltan los métodos get
- Los nombres de clases deben empezar con letra mayúscula, por ejemplo Casa en lugar de casa
- El constructor de casa lo más lógico es que no reciba ningún atributo y que inicialice superfice a 0 y dirección a ""
- En la clase Casa no debes tener métodos get ni set para cosas que no sean atributos de la clase Casa. Por tanto no debes tener setNumeroDeTelevisores, porque el número de televisores es un atributo de otra clase. Cada clase se responsabiliza exclusivamente de sus atributos.
Revisa este post creo que te será útil: https://www.aprenderaprogramar.com/foros/index.php?topic=964
Saludos
-
Hola! gracias por tu respuesta, tienes razon y creo que ya lo he corregido, me gustaria que me dieras tu opinion ;D
Clase Casa
public class Casa{
double superficie;
String direccion;
private SalonCasa salonCasa;
private CocinaCasa cocina;
public Casa (){
superficie=0;
direccion="Desconocida";
salonCasa= new SalonCasa();
cocina=new CocinaCasa ();
}
public void setSuperficie (double valorSuperficie){
superficie=valorSuperficie;
}
public void setDireccion (String valorDireccion){
direccion=valorDireccion;
}
public void setNumeroDeTelevisores (int valorNumeroDeTelevisores){
salonCasa.setNumeroDeTelevisores(valorNumeroDeTelevisores);
}
public void setTipoSalon (String valorTipoSalon){
salonCasa.setTipoSalon(valorTipoSalon);
}
public void setEsIndependiente (boolean valorEsIndependiente){
cocina.setEsIndependiente (valorEsIndependiente);
}
public void setNumeroDeFuegos (int valorNumeroDeFuegos){
cocina.setNumeroDeFuegos (valorNumeroDeFuegos);
}
public String getDatosCasa (){
int numeroDeTelevisores=salonCasa.getNumeroDeTelevisores();
String tipoSalon=salonCasa.getTipoSalon();
boolean esIndependiente=cocina.getEsIndependiente();
int numeroDeFuegos=cocina.getNumeroDeFuegos();
String datosCasa="La casa don direccion en: "+direccion +" tiene una superficie de " + superficie +
"con " + numeroDeTelevisores + " televisiones, es del tipo " + tipoSalon + " su independencia es " +
esIndependiente + " con un numero de fuegos de " + numeroDeFuegos + ".";
System.out.println (datosCasa);
return datosCasa;
}
}
Clase SalonCasa
public class SalonCasa {
int numeroDeTelevisores;
String tipoSalon;
public SalonCasa (){
numeroDeTelevisores=0;
tipoSalon="desconocido";
}
public void setNumeroDeTelevisores (int valorNumeroDeTelevisores){
numeroDeTelevisores=valorNumeroDeTelevisores;
}
public void setTipoSalon (String valorTipoSalon){
tipoSalon=valorTipoSalon;
}
public int getNumeroDeTelevisores() {
return numeroDeTelevisores;
}
public String getTipoSalon (){
return tipoSalon;
}
}
Clase CocinaCasa
public class CocinaCasa{
boolean esIndependiente;
int numeroDeFuegos;
public CocinaCasa (){
esIndependiente=false;
numeroDeFuegos=0;
}
public void setEsIndependiente(boolean valorEsIndependiente){
esIndependiente=valorEsIndependiente;
}
public void setNumeroDeFuegos (int valorNumeroDeFuegos){
numeroDeFuegos=valorNumeroDeFuegos;
}
public boolean getEsIndependiente (){
return esIndependiente;
}
public int getNumeroDeFuegos (){
return numeroDeFuegos;
}
}
-
Hola, todavía tienes cosas que mejorar.
El método setNumeroDeTelevisores no debe ir en la clase Casa porque numeroTelevisores no es un atributo de la clase Casa. Idem para setTipoSalon , setEsIndependiente, setNumeroDeFuegos
El método getDatosCasa no está mal, pero te faltan los get principales que son los get de cada uno de los atributos de la clase.
Léete este post y mira cómo está resuelto para tener una referencia: https://www.aprenderaprogramar.com/foros/index.php?topic=1220
-
Hola, creo que ya entendi bien el concepto. Te dejo la clase Casa para que me des tu opinion, muchas gracias
public class Casa{
double superficie;
String direccion;
private SalonCasa salonCasa;
private CocinaCasa cocina;
public Casa (){
superficie=0;
direccion="Desconocida";
salonCasa= new SalonCasa();
cocina=new CocinaCasa ();
}
public void setSuperficie (double valorSuperficie){
superficie=valorSuperficie;
}
public void setDireccion (String valorDireccion){
direccion=valorDireccion;
}
public void setSalonCasa (int valorNumeroDeTelevisores,String valorTipoSalon){
salonCasa.setNumeroDeTelevisores(valorNumeroDeTelevisores);
salonCasa.setTipoSalon(valorTipoSalon);
}
public void setCocinaCasa (boolean valorEsIndependiente, int valorNumeroDeFuegos){
cocina.setEsIndependiente (valorEsIndependiente);
cocina.setNumeroDeFuegos (valorNumeroDeFuegos);
}
public String getDatosCasa (){
int numeroDeTelevisores=salonCasa.getNumeroDeTelevisores();
String tipoSalon=salonCasa.getTipoSalon();
boolean esIndependiente=cocina.getEsIndependiente();
int numeroDeFuegos=cocina.getNumeroDeFuegos();
String datosCasa="La casa con direccion en: "+direccion +" tiene una superficie de " + superficie +
"con " + numeroDeTelevisores + " televisiones, es del tipo " + tipoSalon + " su independencia es " +
esIndependiente + " con un numero de fuegos de " + numeroDeFuegos + ".";
System.out.println (datosCasa);
return datosCasa;
}
}
-
Hola, tienes 4 atributos, por tanto deberías tener 4 métodos get y 4 métodos set, como no los tienes todavía no se puede decir que esté bien, yo al menos veo 4 set pero no veo los 4 get :(
Léete este post y mira cómo está resuelto para tener una referencia: https://www.aprenderaprogramar.com/foros/index.php?topic=1220