Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: aleexx1724 en 06 de Octubre 2014, 13:10
-
Este es mi codigo con los metodos setters y getters y objetos
Clase Casa
public class Casa{
private double superficie;
private String direccion;
private SalonCasa salonCasa;
private CocinaCasa cocina;
public Casa(){
superficie=0.0;
direccion="";
salonCasa = new SalonCasa();
cocina = new CocinaCasa();
}
public Casa( double valorSuperficie, String valorDireccion, SalonCasa valorSalonCasa,CocinaCasa valorCosinaCasa) {
superficie=valorSuperficie;
direccion=valorDireccion;
salonCasa=valorSalonCasa;
cocina=valorCosinaCasa;
}
// Metodos setters
public void setSalonCasa(SalonCasa valorTelevisores,SalonCasa valorSalon){
salonCasa.setTelevisores(valorTelevisores.getTelevisores());
salonCasa.setTipoSalon(valorSalon.getSalon());
}
public void setCosinaCasa(CocinaCasa valorIndependiente,CocinaCasa valorFuegos){
cocina=new CocinaCasa();
cocina.setIndependiente(valorIndependiente.getIndependiente());
cocina.setFuegos(valorFuegos.getFuegos());
}
public void setDireccion(String valorDireccion){
direccion=valorDireccion;
}
public void setSuperficie(double valorSuperficie){
superficie=valorSuperficie;
}
// mettodos getters
public SalonCasa getTelevisores(){
return salonCasa;
}
public SalonCasa getSalon(){
return salonCasa;
}
public CocinaCasa getIndependiente(){
return cocina;
}
public CocinaCasa getFuegos(){
return cocina;
}
public String getDireccion(){
return direccion;
}
public double getSuperficie(){
return superficie;
}
}
Clase SalonCasa
public class SalonCasa{
private int numeroDeTelevisores;
private String tipoSalon;
// constructor
public SalonCasa(){
numeroDeTelevisores=0;
tipoSalon="Desconocido";
}
// mettodos Setters
public void setTipoSalon(String valorSalon){
tipoSalon=valorSalon;
}
public void setTelevisores(int valorTelevisores){
numeroDeTelevisores=valorTelevisores;
}
// Metodos Getters
public String getSalon(){
return tipoSalon;
}
public int getTelevisores(){
return numeroDeTelevisores;
}
}
Clase CocinaCasa
public class CocinaCasa{
public boolean esIndependiente;
public int numeroDeFuegos;
// Constructor
public CocinaCasa(){
esIndependiente=false;
numeroDeFuegos=0;
}
//metodos setters
public void setIndependiente(boolean valorIndependiente){
esIndependiente=valorIndependiente;
}
public void setFuegos(int valorFuegos){
numeroDeFuegos=valorFuegos;
}
//Metodos getters
public boolean getIndependiente(){
return esIndependiente;
}
public int getFuegos(){
return numeroDeFuegos;
}
}
-
Hola aleexx1427
Tu ejercicio está casi perfecto
Las clases CocinaCasa y SalonCasa. Bien.
Y en la clase Casa
En lugar de:
public void setSalonCasa(SalonCasa valorTelevisores,SalonCasa valorSalon){
salonCasa.setTelevisores(valorTelevisores.getTelevisores());
salonCasa.setTipoSalon(valorSalon.getSalon());
}
public void setCocina(CocinaCasa valorIndependiente,CocinaCasa valorFuegos){
cocina=new CocinaCasa();
cocina.setIndependiente(valorIndependiente.getIndependiente());
cocina.setFuegos(valorFuegos.getFuegos());
}
debe ser
public void setSalonCasa(SalonCasa valorCasaNueva) {
salonCasa = valorCasaNueva;
}
public void setCocina(CocinaCasa valorCocinaNueva){
cocina = valorCocinaNueva;
}
Estos métodos no tienen sentido
public SalonCasa getTelevisores(){
return salonCasa;
}
public SalonCasa getSalon(){
return salonCasa;
}
public CocinaCasa getIndependiente(){
return cocina;
}
public CocinaCasa getFuegos(){
return cocina;
}
en su lugar:
public SalonCasa getSalonCasa () { return salonCasa; }
public CocinaCasa getCocina() { return cocina; }
Como ves la estructura es la misma que los métodos de los atributos primitivos.
public String getDireccion(){
return direccion;
}
modificador de acceso (public) valor devuelto (SalonCasa) nombre del método (getSalonCasa) devolver atributo (return salonCasa)
Ahora estamos trabajando con atributos de tipo objeto (creado por nosotros, como SalonCasa) además de atributos de tipo primitivo como double superficie.
A partir de ahora, esto lo vamos a ver todos los días.
Ten en cuenta que el ejercicio incluye también
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.
Saludos
-
Gracias toni
no esto entendiendo bien
lo que pasa que por lo que entendi la clase Casa deve tener la informacion de las otras clases y como melo estas dicienco con parametros le damos el valor en la clase Casa ,se supone que la informacion la deve de obtner de las clases SalonCasa y CocinaCasa no??????
-
Hola aleexx1724
Respecto a tu último mensaje.
Respuesta, si. Pero te indico :D
En la entrega de esta lección hay unas imágenes donde se ven 3 clases de color amarillo (Taxi, Persona y TaxiCond) con una ventana al lado para crear un objeto de tipo TaxiCond, escribiendo los atributos que usará el contructor. Y mostrando debajo los tres objetos creados en color rojo (taxi1: Taxi, persona1: Persona y taxiCond1: TaxiCond)
Estas imágenes y el texto que las acompaña explicando estas imágenes es una cosa que tienes que hacer.
Primero escribes el código propuesto, y luego creas esos objetos y los inspeccionas con la opción 'inspeccionar' (yo lo tengo en español, no recuerdo como es en inglés)
Cuando esta práctica te funciona, entonces haces el ejercicio propuesto (el que has enviado) que incluye en su enunciado la creación estos 3 objetos (casa, salon y cocina) y los inspeccionas.
'esto te ayuda a entender lo que has hecho'. El código que tu has escrito crea estos objetos con los atributos que vas escribiendo en el constructor de cada clase.
Me hago una pregunta:
Porque inspeccionamos los objetos que creamos.
Tu, cuando haces una tortilla. Una vez hecha, ¿no compruebas como te ha salido, si le falta algo, o le sobra?
Cuando dibujas un cuadro (si eres pintor). Al terminarlo, no compruebas que tenga todo lo que querías que tuviera, que no le falta ni le sobra nada?
Pues eso es lo que hacemos con los objetos creados. Comprobar, inspeccionar que todo esta bien.
Para que tu ejercicio funcione bien, debes hacer los cambios que te indiqué en la clase Casa
Espero haber respondido a tu pregunta
Saludos