Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Bcks7 en 17 de Febrero 2016, 02:21
-
De nuevo dejando mis ejercicios, esperando comentarios y recomendaciones, los dejaré en códigos separados ya que son tres clases
public class SalonCasa{
private int numeroDeTelevisores;
private String tipoSalon;
public SalonCasa () {
numeroDeTelevisores = 0;
tipoSalon = "";
}
public void setNumeroDeTelevisores (int valorNumeroDeTelevisores){
numeroDeTelevisores = valorNumeroDeTelevisores;
}
public void setTipoSalon (String valorTipoSalon){
tipoSalon = valorTipoSalon;
}
public int getNumeroDeTelevisores () {return numeroDeTelevisores;}
public String getTipoSalon () {return tipoSalon;}
}
-------------------------------------------------------------------------------------------------------
public class CocinaCasa {
private boolean esIndependiente;
private 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;}
}
-------------------------------------------------------------------------------------------------------
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 () ;
}
}
-
bien las dos primeras clases, en la clase casa sólo hay constructor, faltan todos los getters y setters.
saludos.
-
bien las dos primeras clases, en la clase casa sólo hay constructor, faltan todos los getters y setters.
saludos.
Hola de nuevo Lorenzo, gracias por tomarte el tiempo de checar mi código, después de varios días dejo a tu disposición el código agregando lo que hacia falta, espero este bien esta vez
public class Casa {
private double superficie;
private String direccion;
private SalonCasa salonCasa;
private CocinaCasa cocinaCasa;
public Casa () {
superficie = 0.0;
direccion = "";
salonCasa = new SalonCasa ();
cocinaCasa = new CocinaCasa () ;
}
public void setSuperficie (double valorSuperficie){
superficie = valorSuperficie;
}
public void setDireccion (String valorDireccion){
direccion = valorDireccion;
}
public double getSuperficie (){return superficie;}
public String getDireccion (){return direccion;}
public void getDatosCasa(){//Metodo que devuelve informacion
int numeroDeTelevisores = salonCasa.getNumeroDeTelevisores();
String tipoSalon = salonCasa.getTipoSalon();
boolean esIndependiente = cocinaCasa.getEsIndependiente();
int numeroDeFuegos = cocinaCasa.getNumeroDeFuegos();
String datosCasa = "El objeto Casa presenta los siguientes atributos: Esta en la calle:" +direccion+
"Metros cubiertos:" +superficie+ "Cantidad de televisores:" +numeroDeTelevisores+ "Tipo de salon:" +tipoSalon+
"La cocina es:" +esIndependiente+ "La cocina tiene" +numeroDeFuegos+ " fuegos.";
}
}
/code]
-
Debes tratar como un objeto cualquiera salonCasa y cocinaCasa.
Eso significa que puedes igualarlo sin ningun problema a otro objeto salonCasa o cocinaCasa.
el getter sería
public salonCasa getSalonCasa() { return salonCasa; }
y el setter sería
public void setSalonCasa( salonCasa valorSalonCasa ) { salonCasa = valorSalonCasa; }
Tienes que fijarte que cuando creas un salonCasa o un cocinaCasa, blueJ te crea un objeto abajo, pues una vez lo tengas creado, activas el
setSalonCasa(idDelObjetoCreadoEnBlueJ);
Verás que te lo recoje sin problema, es una de las claves de la orientación a objetos.
Pero cuesta un poco asimilarlo.
-
Ok, una vez más gracias por tu respuesta Lorenzo, de hecho creo es más práctico de esa manera, solo seguí el ejemplo y por eso pensé esa sería la manera correcta pero vaya es más práctica la forma en que lo has puesto, gracias.
-
Hola de nuevo Lorenzo, hice las correcciones como indicaste pero me devuelve "cannot find symbol - class salonCasa"
Que debo hacer?
-
Hola Bcks7! Echale un ojo a este hilo y las explicaciones que incluye, https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0
Saludos!
-
Hola Cesar ya un largo tiempo, bueno de las formas que vi en los hilos que pusiste me quede con la siguiente, se me hizo mas practica, espero puedas checar y decirme si ha quedado bien definida la clase casa que es la que necesitaba corregir
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 void setSuperficie (double valorSuperficie){
superficie = valorSuperficie;
}
public void setDireccion (String valorDireccion){
direccion = valorDireccion;
}
public void setSalonCasa (SalonCasa objetoSalon){
salonCasa = new SalonCasa();
}
public void setCocina (CocinaCasa objetoCocina){
cocina = new CocinaCasa();
}
public double getSuperficie (){return superficie;}
public String getDireccion () {return direccion;}
public SalonCasa getSalonCasa (){return salonCasa;}
public CocinaCasa getCocina () {return cocina;}
}
-
Esto ya me gusta más, buen trabajo Bcks7, sigue así.
Aunque ahora no lo comprendas mucho ( al menos a mi me pasó ) es importante que te quedes con que se puede tratar a los objetos como variables, cuando se les asigna o llama en funciones.
Saludos.
-
Gracias Lorenzo, a seguir aprendiendo