Autor Tema: Ejercicio CU00642B (Pasar objetos como parametros) tutorial java  (Leído 4519 veces)

Java_Maya14

  • Sin experiencia
  • *
  • Mensajes: 15
  • I Know You want it <3
    • Ver Perfil
Hola que tal les dejo mi código para este ejercicio Para revisión muchas gracias por su tiempo :)..
Clase Salon Casa:
Código: [Seleccionar]
/** Ejercio 20 - SalonCasa (Pasar objetos como parámetros a un metodo o construtor).
 * Alumno: Cristian Alberto.
 *
 *La clase SalonCasa debe tener como atributos numeroDeTelevisores (int) y
 * tipoSalon (String) y disponer de un constructor que los inicialice a 0 y “desconocido”.
 *///Inicio de la clase:
public class SalonCasa {
    int numeroDeTelevisores;
    String tipoSalon;
    //Constructor:
    public SalonCasa () {
        numeroDeTelevisores = 0;
        tipoSalon = "Desconocido";
    }//Cierre del constructor
    //Constructor con Parametros:
    public SalonCasa (int numeroDeTelevisores, String tipoSalon) {
        numeroDeTelevisores = 0;
        tipoSalon = "Desconocido";
    }//Cierre del constructor
   
    //Setters:
    public void setnumerodeTelevisores (int valorNumeroDeTelevisores) {
        numeroDeTelevisores = valorNumeroDeTelevisores;
    }//Cierre del metodo
   
    public void settipoSalon (String valorTipoSalon) {
        tipoSalon = valorTipoSalon;
    }//Cierre del metodo
   
    //Getters:
    public int getNumeroDeTelevisores () { return numeroDeTelevisores; }//Cierre del metodo.
   
    public String getTipoSalon () { return tipoSalon; }//Cierre del metodo.
}//Cierre de la clase
Clase Cocina Casa:
Código: [Seleccionar]
/** Ejercicio 20 CocinaCasa (Pasar objetos como parametros a un metodo o constructor).
 * Alumno: Cristian Alberto balam martinez.
 * La clase CocinaCasa debe tener como atributos esIndependiente (boolean) y
 * numeroDeFuegos (int) y un constructor que los inicialice a false y 0.
 */
public class CocinaCasa {
    boolean esIndependiente;
    int numeroDeFuegos;
    //Constructor:
    public CocinaCasa () {
        esIndependiente = false;
        numeroDeFuegos = 0;
    }//Cierre del constructor
    //Constructor con parametros:
    public CocinaCasa (boolean esIndependiente, int numeroDeFuegos) {
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
    //Setters
    public void setesIndependiente (boolean valorEsIndependiente) {
        esIndependiente = valorEsIndependiente;
    }//Cierre del metodo.
   
    public void setnumeroDeFuegos (int valorNumeroDeFuegos) {
        numeroDeFuegos = valorNumeroDeFuegos;
    }//Cierre del metodo.
   
    //Getters:
    public boolean getEsIndependiente () { return esIndependiente; }//Cierre del metodo.
   
    public int getNumeroDeFuegos () { return numeroDeFuegos; }//Cierre del metodo.
}//Cierre de la clase.
   
Clase Casa:
Código: [Seleccionar]
/** Ejercicio 20 Casa (Pasar objetos como parametros a un metodo o constructor).
 * Alumno: Cristian Alberto Balam Martinez.
 * La clase Casa tendrá los siguientes atributos de clase: superficie (double),
 * direccion (String), salonCasa (tipo SalonCasa) y cocina (tipo CocinaCasa).
 * Define un constructor para la clase Casa que establezca a unos valores de defecto
 * los atributos simples y que cree nuevos objetos si se trata de atributos objeto.
 * Define otro constructor que reciba como parámetros la superficie, dirección y
 * un objeto de tipo SalonCasa y otro de tipo CocinaCasa, Compila el código.
 */
public class Casa {
    private double superficie;
    private String direccion;
    private SalonCasa salonDeEstaCasa;
    private CocinaCasa cocinaDeEstaCasa;
    //Constructor:
    public Casa () {
        superficie = 0.00;
        direccion = "Desconocida";
        salonDeEstaCasa = new SalonCasa ();
        cocinaDeEstaCasa = new CocinaCasa ();
    }
    //Constructor Con parametros:
    public Casa (double superficie, String direccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
        salonDeEstaCasa = new SalonCasa (objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon() );
        cocinaDeEstaCasa = new CocinaCasa (objetoCocinaCasa.getEsIndependiente(), objetoCocinaCasa.getNumeroDeFuegos() );
    }
    //Setters:
    public void setsuperficie (double valorSuperficie) {
        superficie = valorSuperficie;
    }
   
    public void setdireccion (String valorDireccion) {
        direccion = valorDireccion;
    }
    //Getters
    public double getSuperficie () { return superficie; }//Cierre del metodo.
   
    public String getDireccion () { return direccion; }//Cierre del metodo.
}
Gracias por su tiempo.
« Última modificación: 31 de Agosto 2014, 19:02 por Alex Rodríguez »
No es necesario apagar la luz del otro para que brille la nuestra.. -Gandhi-

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Ejercicio CU00642B (Pasar objetos como parametros Entrega)
« Respuesta #1 en: 12 de Julio 2014, 21:55 »


Aquí tienes un error:

    public SalonCasa (int numeroDeTelevisores, String tipoSalon) {
        numeroDeTelevisores = 0;
        tipoSalon = "Desconocido";
    }//Cierre del constructor



Si el constructor trae parámetros, será para asignárselos a los atributos, por ejemplo:

   public SalonCasa (int valorNumeroDeTelevisores, String valorTipoSalon) {
        numeroDeTelevisores = valorNumeroDeTelevisores;
        tipoSalon = valorTipoSalon;
    }//Cierre del constructor


Si no lo haces así no te serviría para nada los parámetros que se reciben.

En la clase CocinaCasa tienes el mismo error, y en la clase Casa tienes el mismo error.

Los nombres de métodos como setnumerodeTelevisores deben ser setNumeroDeTelevisores, introduciendo una mayúscula cada vez que hay un cambio de palabra. Hay varios métodos que ocurre lo mismo...

En la clase Casa te faltan los métodos set para los atributos que son objetos: en este caso debes recibir un objeto y asignárselo al atributo.

También te faltan los métodos get para los atributos que son objetos: en este caso debes devolver el objeto que es el atributo de la clase.

Tienes que trabajar con objetos de forma similar a como lo haces con los tipos primitivos.

Saludos

Java_Maya14

  • Sin experiencia
  • *
  • Mensajes: 15
  • I Know You want it <3
    • Ver Perfil
Re:Ejercicio CU00642B (Pasar objetos como parametros Entrega)
« Respuesta #2 en: 14 de Julio 2014, 23:50 »


Aquí tienes un error:

    public SalonCasa (int numeroDeTelevisores, String tipoSalon) {
        numeroDeTelevisores = 0;
        tipoSalon = "Desconocido";
    }//Cierre del constructor



Si el constructor trae parámetros, será para asignárselos a los atributos, por ejemplo:

   public SalonCasa (int valorNumeroDeTelevisores, String valorTipoSalon) {
        numeroDeTelevisores = valorNumeroDeTelevisores;
        tipoSalon = valorTipoSalon;
    }//Cierre del constructor


Si no lo haces así no te serviría para nada los parámetros que se reciben.

En la clase CocinaCasa tienes el mismo error, y en la clase Casa tienes el mismo error.

Los nombres de métodos como setnumerodeTelevisores deben ser setNumeroDeTelevisores, introduciendo una mayúscula cada vez que hay un cambio de palabra. Hay varios métodos que ocurre lo mismo...

En la clase Casa te faltan los métodos set para los atributos que son objetos: en este caso debes recibir un objeto y asignárselo al atributo.

También te faltan los métodos get para los atributos que son objetos: en este caso debes devolver el objeto que es el atributo de la clase.

Tienes que trabajar con objetos de forma similar a como lo haces con los tipos primitivos.

Saludos
Hola que tal gracias por responderme edité el codigo de las tres clases, espero que ahora si este bien lo de los "getters" no se si esté bien Gracias por tu tiempo te adjunto los codigos de las tres clases.
Clase SalonCasa:
Código: [Seleccionar]
/** Ejercio 20 - SalonCasa (Pasar objetos como parámetros a un metodo o construtor).
 * Alumno: Cristian Alberto.
 *///Inicio de la clase:
public class SalonCasa {
    int numeroDeTelevisores;
    String tipoSalon;
    //Constructor:
    public SalonCasa () {
        numeroDeTelevisores = 0;
        tipoSalon = "Desconocido";
    }//Cierre del constructor
    //Constructor con Parametros:
    public SalonCasa (int valorNumeroDeTelevisores, String valorTipoSalon) {
        numeroDeTelevisores = valorNumeroDeTelevisores;
        tipoSalon = valorTipoSalon;
    }//Cierre del constructor
   
    //Setters:
    public void setNumerodeTelevisores (int valorNumeroDeTelevisores) {
        numeroDeTelevisores = valorNumeroDeTelevisores;
    }//Cierre del metodo
   
    public void setTipoSalon (String valorTipoSalon) {
        tipoSalon = valorTipoSalon;
    }//Cierre del metodo
   
    //Getters:
    public int getNumeroDeTelevisores () { return numeroDeTelevisores; }//Cierre del metodo.
   
    public String getTipoSalon () { return tipoSalon; }//Cierre del metodo.
}//Cierre de la clase
Clase CocinaCasa:
Código: [Seleccionar]
/** Ejercicio 20 CocinaCasa (Pasar objetos como parametros a un metodo o constructor).
 * Alumno: Cristian Alberto balam martinez.
 */
public class CocinaCasa {
    boolean esIndependiente;
    int numeroDeFuegos;
    //Constructor:
    public CocinaCasa () {
        esIndependiente = false;
        numeroDeFuegos = 0;
    }//Cierre del constructor
    //Constructor con parametros:
    public CocinaCasa (boolean valorEsIndependiente, int valorNumeroDeFuegos) {
        esIndependiente = valorEsIndependiente;
        numeroDeFuegos = valorNumeroDeFuegos;
    }
    //Setters
    public void setEsIndependiente (boolean valorEsIndependiente) {
        esIndependiente = valorEsIndependiente;
    }//Cierre del metodo.
   
    public void setNumeroDeFuegos (int valorNumeroDeFuegos) {
        numeroDeFuegos = valorNumeroDeFuegos;
    }//Cierre del metodo.
   
    //Getters:
    public boolean getEsIndependiente () { return esIndependiente; }//Cierre del metodo.
   
    public int getNumeroDeFuegos () { return numeroDeFuegos; }//Cierre del metodo.
}//Cierre de la clase.
   
Clase Casa:
Código: [Seleccionar]
/** Ejercicio 20 Casa (Pasar objetos como parametros a un metodo o constructor).
 * Alumno: Cristian Alberto Balam Martinez.
 */
public class Casa {
    private double superficie;
    private String direccion;
    private SalonCasa salonDeEstaCasa;
    private CocinaCasa cocinaDeEstaCasa;
    //Constructor:
    public Casa () {
        superficie = 0.00;
        direccion = "Desconocida";
        salonDeEstaCasa = new SalonCasa ();
        cocinaDeEstaCasa = new CocinaCasa ();
    }
    //Constructor Con parametros:
    public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonDeEstaCasa = new SalonCasa (objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon() );
        cocinaDeEstaCasa = new CocinaCasa (objetoCocinaCasa.getEsIndependiente(), objetoCocinaCasa.getNumeroDeFuegos() );
    }
    //Setters:
    public void setSuperficie (double valorSuperficie) {
        superficie = valorSuperficie;
    }
   
    public void setDireccion (String valorDireccion) {
        direccion = valorDireccion;
    }
    //Getters
    public double getSuperficie () { return superficie; }//Cierre del metodo.
   
    public String getDireccion () { return direccion; }//Cierre del metodo.
   
    public String getDatosCasa () {
        int numeroDeTelevisores = salonDeEstaCasa.getNumeroDeTelevisores();
        String tipoSalon = salonDeEstaCasa.getTipoSalon();
        boolean esIndependiente = cocinaDeEstaCasa.getEsIndependiente();
        int numeroDeFuegos = cocinaDeEstaCasa.getNumeroDeFuegos();
        String DatosCasa = "El objeto casa presenta los Siguientes datos, Direccion: "+ direccion + " Numero de telvisores: "+ numeroDeTelevisores +", Supreficie de la casa: "+ superficie +", Numero de televisores: "+ numeroDeTelevisores +", Tipo de Salon: "+ tipoSalon +", La cocina es independiente: "+ esIndependiente +", Numero de fuegos de la cocina: "+ numeroDeFuegos;
        System.out.println (DatosCasa);
        return DatosCasa;
    }
}
No es necesario apagar la luz del otro para que brille la nuestra.. -Gandhi-

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:Ejercicio CU00642B (Pasar objetos como parametros Entrega)
« Respuesta #3 en: 15 de Julio 2014, 17:29 »
Hola, en SalonCasa y CocinaCasa ya lo tienes bien pero aquí habría que pensarlo:

    public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonDeEstaCasa = new SalonCasa (objetoSalonCasa.getNumeroDeTelevisores(), objetoSalonCasa.getTipoSalon() );
        cocinaDeEstaCasa = new CocinaCasa (objetoCocinaCasa.getEsIndependiente(), objetoCocinaCasa.getNumeroDeFuegos() );
    }


Lo que tú has hecho es crear nuevos objetos y está bien hecho, no puede decirse que sea un error, pero ¿Por qué no has hecho:

    public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonDeEstaCasa = objetoSalonCasa;
        cocinaDeEstaCasa = objetoCocinaCasa;
    }

Esto en realidad es distinto, porque dejas apuntando el atributo al mismo objeto que se recibió como parámetro, mientras que en el caso anterior el atributo apunta a un objeto distinto.



Los nombres todavía no los estás refinando bien, en lugar de setNumerodeTelevisores sería setNumeroDeTelevisores

En la clase Casa te siguen faltando los métodos set para los atributos que son objetos: en este caso debes recibir un objeto y asignárselo al atributo.

También te siguen faltando los métodos get para los atributos que son objetos: en este caso debes devolver el objeto que es el atributo de la clase, p.ej. public void getSalonDeEstaCasa () {return salonDeEstaCasa;} es decir, igual que puedes recibir y devolver tipos primitivos puedes recibir y devolver objetos.

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