Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Damian en 23 de Enero 2017, 05:14
-
CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B)
SALONCASA.
/*Definición del tipo de Salón de una casa
* Damian
*/
public class SalonCasa{
private int numeroDeTelevisores;
private String tipoSalon;
//Constructor
public SalonCasa(){
numeroDeTelevisores= 0;
tipoSalon= "Desconocido";
}//Cierre del constructor
//Métodos setter
public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
numeroDeTelevisores= valorNumeroDeTelevisores;
}
public void setTipoSalon(String valorTipoSalon){
tipoSalon= valorTipoSalon;
}
//Métodos getter
public int getNumeroDeTelevisores(){return numeroDeTelevisores;}
public String getTipoSalon(){return tipoSalon;}
}//Cierre del método
COCINACASA.
/*Ejemplo de definición de la Cocina de una Casa
* Damian
*/
public class CocinaCasa{
private boolean esIndependiente;
private int numeroDeFuegos;
//Constructor para el tipo Cocina
public CocinaCasa(){
esIndependiente= false;
numeroDeFuegos= 0;
}//Cierre del constructor
//Métodos setter
public void setEsIndependiente(boolean valorEsIndependiente){
esIndependiente= valorEsIndependiente;
}
public void setNumeroDeFuego(int valorNumeroDeFuegos){
numeroDeFuegos= valorNumeroDeFuegos;
}
//Métodos getter
public boolean getEsIndependiente(){return esIndependiente;}
public int getNumeroDeFuegos(){return numeroDeFuegos;}
}//Cierre del método
CASA.
/*Ejemplo de definición de una Casa
* Damian
*/
public class Casa{
private double superficie;
private String direccion;
private SalonCasa SalonCasa;
private CocinaCasa CocinaCasa;
//Constructor
public Casa(){
superficie= 0;
direccion= "Desconocida";
SalonCasa= SalonCasa;
CocinaCasa= CocinaCasa;
}
//Método setter
public void setSuperficie(double valorSuperficie){
superficie= valorSuperficie;
}
public void setDireccion(String valorDireccion){
direccion= valorDireccion;
}
public void setSalonCasa(SalonCasa valorSalonCasa){
SalonCasa= valorSalonCasa;
}
public void setCocina(CocinaCasa valorCocinaCasa){
CocinaCasa= valorCocinaCasa;
}
//Métodos getter
public double getSuperficie(){return superficie;}
public String getDireccion(){return direccion;}
public SalonCasa getSalonCasa(){return SalonCasa;}
public CocinaCasa getCocina(){return CocinaCasa;}
}//Cierre del método
Estas son las diferentes clases de este nivel, espero estar bien, pero me gustaría saber, si en la clase Casa de este nivel, hay otra forma de utilizar los métodos y si sería correctos utilizarlos, por si los hay.
-
Hola Damian.
Solo quiero corregir dos cosas. La primera es que normalmente los objetos empiezan por minúscula para distinguirlos de las clases, que empiezan por mayúscula. Así, en vez de declarar un objeto "SalonCasa SalonCasa" y un objeto "CocinaCasa CocinaCasa", yo declararía un "SalonCasa salonCasa" y un "CocinaCasa cocinaCasa".
Por otra parte, en el constructor de la clase Casa se deben crear los objetos salonCasa y cocinaCasa:
public Casa(){
superficie= 0;
direccion= "Desconocida";
salonCasa= new SalonCasa();
cocinaCasa= new CocinaCasa();
}
En el enunciado se explicaba así: Define un constructor para la clase Casa que establezca unos valores de defecto para los atributos simples y que cree nuevos objetos si se trata de atributos objeto.
Espero que te sirva. ¡Saludos!
-
Hola Erik_Escriche
Pues te comento que lo hice así, pero me salía error cuando lo compilaba, por esa razón tuve que ponerle al objeto, la primera letra en mayúsculas y así, al compilarlo otra vez, no me salió, pero te agradezco por tu apunte y trataré de corregirlo, esperando a que no salga error.
Gracias.
-
Es posible que no te funcionara por lo del constructor. Prueba a crear los objetos en el constructor de la clase Casa. A mí me compiló correctamente cuando hice los cambios.
¡Suerte!