Autor Tema: Ejercicio con tres clases que relacionan entre sí Java CU00641B tutorial códigos  (Leído 5494 veces)

Bcks7

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 48
    • Ver Perfil
De nuevo dejando mis ejercicios, esperando comentarios y recomendaciones, los dejaré en códigos separados ya que son tres clases

Código: [Seleccionar]
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;}
}

-------------------------------------------------------------------------------------------------------

Código: [Seleccionar]
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;}
   
}

-------------------------------------------------------------------------------------------------------

Código: [Seleccionar]
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 () ;
    }
}
« Última modificación: 19 de Febrero 2016, 09:11 por Alex Rodríguez »

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Re:Ejercicio CU00641B Java desde cero
« Respuesta #1 en: 17 de Febrero 2016, 07:20 »
bien las dos primeras clases, en la clase casa sólo hay constructor, faltan todos los getters y setters.
saludos.

Bcks7

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 48
    • Ver Perfil
Re:Ejercicio CU00641B Java desde cero
« Respuesta #2 en: 23 de Febrero 2016, 02:18 »
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

Código: [Seleccionar]
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]
« Última modificación: 23 de Febrero 2016, 06:15 por Bcks7 »

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
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.
« Última modificación: 23 de Febrero 2016, 20:37 por Lorenzo31 »

Bcks7

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 48
    • Ver Perfil
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.

Bcks7

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 48
    • Ver Perfil
Hola de nuevo Lorenzo, hice las correcciones como indicaste pero me devuelve "cannot find symbol - class salonCasa"

Que debo hacer?

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola Bcks7! Echale un ojo a este hilo y las explicaciones que incluye, https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

Bcks7

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 48
    • Ver Perfil
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

Código: [Seleccionar]
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;}


}

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
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.

Bcks7

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 48
    • Ver Perfil
Gracias Lorenzo, a seguir aprendiendo

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".