Autor Tema: Java.Pasar objetos como parámetros a un método o constructor. Ejercicio CU00642B  (Leído 7192 veces)

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
Pasar objetos como parámetros a un método o constructor Java. Diferenciar objeto y tipo primitivo (CU00642B)

Aquí les dejo el ejercicio:

Códigos Java
-Clase "Casa"
Código: [Seleccionar]
/**
 * Define a una casa respecto a su contenido (habitaciones).
 * @author Chompy129
 * @version 1.1
 */
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
    public Casa(){
        superficie= 0;
        direccion= "desconocido";
        salonCasa= new SalonCasa();
        cocina= new CocinaCasa();
    }
   
    public Casa(double valueSuperficie, String valueDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa){
        superficie= valueSuperficie;
        direccion= valueDireccion;
        salonCasa= objetoSalonCasa;
        cocina= objetoCocinaCasa;
    }
}

-Clase "SalonCasa"
Código: [Seleccionar]
/**
 * Define el salon de una casa respecto a su contenido.
 * @author Chompy129
 * @version 1.0
 */
public class SalonCasa{
    private int numeroDeTelevisores;
    private String tipoSalon;
   
    public SalonCasa(){
        numeroDeTelevisores= 0;
        tipoSalon= "desconocido";
    }
}

-Clase "CocinaCasa"
Código: [Seleccionar]
/**
 * Define la cocina de una casa respecto a su contenido.
 * @author Chompy129
 * @version 1.0
 */
public class CocinaCasa{
    private boolean esIndependiente;
    private int numeroDeFuegos;
   
    public CocinaCasa(){
        esIndependiente= false;
        numeroDeFuegos= 0;
    }
}


Link de la clase: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=517:pasar-objetos-como-parametros-a-un-metodo-o-constructor-java-diferenciar-objeto-y-tipo-primitivo-cu00642b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

« Última modificación: 18 de Diciembre 2016, 19:39 por Alex Rodríguez »

Shakar

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 9
    • Ver Perfil
Si, se cumple el objetivo de pasar objetos como parámetros al constructor en este caso... Todo bien, todo ordenado.

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
Gracias por revisar el ejercicio Shakar. ;D

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Buenos días.
Para que el código fuera completo te faltarían los métodos getter y setter.
En el siguiente enlace puedes ver como hizo este ejercicio otro compañero:
http://[code]https://www.aprenderaprogramar.com/foros/index.php?topic=4761.msg19382#msg19382[/code]

Un saludo

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Hola ESOJ tu link no funcion parece que pusiste dentro "code" y tiene que ser dentro de "url" o mas bien pusiste un code dentro de url podes revisar.

Jack_F

  • Visitante
« Última modificación: 13 de Diciembre 2016, 21:52 por pedro,, »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola Chompy129, lo que te ha indicado ESOJ, en particular en este ejercicio, es muy importante (incluir los getter y setter). Te recomiendo que lo rehagas incluyendo estos métodos.

Saludos.

Chompy129

  • Intermedio
  • ***
  • Mensajes: 130
  • Programar es divertido. :)
    • Ver Perfil
Aunque el ejercicio es relativamente viejo, lo corregiré de todas formas. :P

Códigos Java
-Clase "Casa"
Código: [Seleccionar]
/**
 * Define a una casa respecto a su contenido (habitaciones).
 * @author Chompy129
 * @version 1.0
 */
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
    public Casa(){
        superficie= 0;
        direccion= "desconocido";
        salonCasa= new SalonCasa();
        cocina= new CocinaCasa();
    }
   
    public Casa(double valueSuperficie, String valueDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa){
        superficie= valueSuperficie;
        direccion= valueDireccion;
        salonCasa= objetoSalonCasa;
        cocina= objetoCocinaCasa;
    }

    //Métodos set
    public void setSuperficie(double valueSuperficie){
        superficie= valueSuperficie;
    }

    public void setDireccion(String valueDireccion){
        direccion= valueDireccion;
    }

    public void setSalonCasa(SalonCasa valueSalonCasa){
        salonCasa= valueSalonCasa;
    }

    public void setCocina(CocinaCasa valueCocina){
        cocina= valueCocina;
    }

    //Métodos get
    public double getSuperficie(){return superficie;}
    public String getDireccion(){return direccion;}
    public SalonCasa getSalonCasa(){return salonCasa;}
    public CocinaCasa getCocina(){return cocina;}

}

-Clase "SalonCasa"
Código: [Seleccionar]
/**
 * Define el salon de una casa respecto a su contenido.
 * @author Chompy129
 * @version 1.0
 */
public class SalonCasa{
    private int numeroDeTelevisores;
    private String tipoSalon;
   
    public SalonCasa(){
        numeroDeTelevisores= 0;
        tipoSalon= "desconocido";
    }

    //Métodos set
    public void setNumeroDeTelevisores(int valueNumeroDeTelevisores){
        numeroDeTelevisores= valueNumeroDeTelevisores;
    }

    public void setTipoSalon(String valueTipoSalon){
        tipoSalon= valueTipoSalon;
    }

    //Métodos get
    public int getNumeroDeTelevisores(){return numeroDeTelevisores;}
    public String getTipoSalon(){return tipoSalon;}

}

-Clase "CocinaCasa"
Código: [Seleccionar]
/**
 * Define la cocina de una casa respecto a su contenido.
 * @author Chompy129
 * @version 1.0
 */
public class CocinaCasa{
    private boolean esIndependiente;
    private int numeroDeFuegos;
   
    public CocinaCasa(){
        esIndependiente= false;
        numeroDeFuegos= 0;
    }

    //Métodos set
    public void setEsIndependiente(boolean valueEsIndependiente){
        esIndependiente= valueEsIndependiente;
    }

    public void setNumeroDeFuegos(int valueNumeroDeFuegos){
        numeroDeFuegos= valueNumeroDeFuegos;
    }

    //Métodos get
    public boolean getEsIndependiente(){return esIndependiente;}
    public int getNumeroDeFuegos(){return numeroDeFuegos;}

}

LISTO!
Ejercicio mejorado. ;D

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola, fíjate en el constructor que has planteado tú y en cómo está planteado aquí: https://www.aprenderaprogramar.com/foros/index.php?topic=1238.0

Es importante comprender la diferencia entre ambas formas aunque para comprender esto realmente habrá que esperar a la parte del curso donde se habla de identidad entre objetos e igualdad entre objetos. En este punto puede ser suficiente con saber que se puede hacer de distintas maneras.

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