Autor Tema: Diferenciar objeto y tipo primitivo en Java (Ejercicio CU00642B del curso)  (Leído 3760 veces)

aleexx1724

  • Principiante
  • **
  • Mensajes: 73
  • Ayuda con Java
    • Ver Perfil
Este es mi codigo con los metodos setters y getters y objetos

Clase Casa

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 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

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

Código: [Seleccionar]
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;
    }
   
}
« Última modificación: 11 de Octubre 2014, 10:38 por Alex Rodríguez »
megustaria aprender a programar en java tengo pocotiempo con esto de la programacion pero me gusta  mucho ,estoy buscando amig@s que  tambien esten aprendiendo o que sepan y puedan enseñar online ,
saludos

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:Diferenciar objeto y tipo primitivo (CU00642B)
« Respuesta #1 en: 06 de Octubre 2014, 22:32 »
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
Citar
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
« Última modificación: 06 de Octubre 2014, 22:41 por toni_apr »

aleexx1724

  • Principiante
  • **
  • Mensajes: 73
  • Ayuda con Java
    • Ver Perfil
Re:Diferenciar objeto y tipo primitivo (CU00642B)
« Respuesta #2 en: 07 de Octubre 2014, 11:33 »
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??????
« Última modificación: 07 de Octubre 2014, 11:38 por aleexx1724 »
megustaria aprender a programar en java tengo pocotiempo con esto de la programacion pero me gusta  mucho ,estoy buscando amig@s que  tambien esten aprendiendo o que sepan y puedan enseñar online ,
saludos

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:Diferenciar objeto y tipo primitivo (CU00642B)
« Respuesta #3 en: 07 de Octubre 2014, 22:39 »
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

 

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".