Autor Tema: Escribir varias clases Java de la misma temática relacionando entre sí CU00642B.  (Leído 2680 veces)

tripeador

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 21
    • Ver Perfil
Ejercicio correspondiente a la clase CU00642B del tutorial de programador Java básico.


Clase SalónCasa:

Código: [Seleccionar]
public class SalonCasa
{
    // Atributos
    private int numeroDeTelevisores;
    private String tipoSalon;

    // Constructor
    public SalonCasa()
    {
        numeroDeTelevisores = 0;
        tipoSalon = "desconocido";
    }
}


Clase CocinaCasa:

Código: [Seleccionar]
public class CocinaCasa
{
    //Atributos
    private boolean esIndependiente;
    private int numeroDeFuegos;

    //Constructor
    public CocinaCasa()
    {
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
}


Clase Casa:

Código: [Seleccionar]
public class Casa
{
    // Atributos
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;

    //Constructor sin parámetros
    public Casa()
    {
        superficie = 0.0;
        direccion = "";
        salonCasa = new SalonCasa ();
        cocina = new CocinaCasa ();
    }
   
    //Constructor con parámetros
    public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonCasa = new SalonCasa ();
        cocina = new CocinaCasa ();
    }
}

« Última modificación: 14 de Mayo 2017, 12:06 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Paso de objetos como parámetros a metodo o constructor. CU00642B.
« Respuesta #1 en: 21 de Febrero 2017, 16:49 »
Hola tripeador.

Lo primero comentarte lo mismo que en el anterior ejercicio, sería aconsejable que completases las clases con los métodos setter y getter.

Y sobre el constructor con parámetros que usaste en la clase Casa, decir que además de ser necesario recibir los atributos, también se reciben dos objetos que luego no usas, que son objetoSalonCasa y objetosCocinaCasa, dándoles uso a estos dos objetos el código quedaría así:

Código: [Seleccionar]
public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonCasa = objetoSalonCasa;
        cocina = objetoCocinaCasa;
    }

También recomendarte que mirases ejercicios de otros usuarios, porque hay varias formas para solucionar este ejercicio.

https://www.aprenderaprogramar.com/foros/index.php?topic=1238.msg6775#msg6775

https://www.aprenderaprogramar.com/foros/index.php?topic=5861.msg22835#msg22835

Saludos.  ;D

tripeador

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 21
    • Ver Perfil
Re:Paso de objetos como parámetros a metodo o constructor. CU00642B.
« Respuesta #2 en: 23 de Febrero 2017, 10:41 »
Nuevos códigos corregidos y adaptados a las apreciaciones que me hiciste, después de mirar los ejercicios de otros usuarios que me recomendaste , creo que lo he resuelto de la forma mas sencilla.
Muchas gracias.

Código: [Seleccionar]
public class SalonCasa
{
    // Atributos
    private int numeroDeTelevisores;
    private String tipoSalon;

    // Constructor
    public SalonCasa()
    {
        numeroDeTelevisores = 0;
        tipoSalon = "desconocido";
    }
   
    //Métodos para establecer valores (setters)
    public void setNumeroDeTelevisores (int  valorNumeroDeTelevisores) {numeroDeTelevisores = valorNumeroDeTelevisores;}
    public void setTipoSalon (String valorTipoSalon) {tipoSalon = valorTipoSalon;}
   
    //Metodos para obtener valores (getters)
    public int getNumeroDeTelevisores () {return numeroDeTelevisores;}
    public String getTipoSalon () {return tipoSalon;}
}

Código: [Seleccionar]
public class CocinaCasa
{
    //Atributos
    private boolean esIndependiente;
    private int numeroDeFuegos;

    //Constructor
    public CocinaCasa()
    {
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
   
    //Métodos para establecer valores (setters)
    public void setEsIndependiente (boolean valorEsIndependiente) {esIndependiente = valorEsIndependiente;}
    public void setNumeroDeFuegos (int valorNumeroDeFuegos) {numeroDeFuegos = valorNumeroDeFuegos;}
   
    //Métodos para obtener valores (setters)
    public boolean getEsIndependiente (){return esIndependiente;}
    public int geNumeroDeFuegos () {return numeroDeFuegos;}
}[code]

[code]public class Casa
{
    // Atributos
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;

    //Constructor sin parámetros
    public Casa()
    {
        superficie = 0.0;
        direccion = "";
        salonCasa = new SalonCasa ();
        cocina = new CocinaCasa ();
    }
   
    //Constructor con parámetros
    public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonCasa = objetoSalonCasa;
        cocina = objetoCocinaCasa;
    }
   
    //Metodos para establecer valores (setters)
    public void setSuperficie (double valorSuperficie){superficie = valorSuperficie;}
    public void setDireccion (String valorDireccion) {direccion = valorDireccion;}
    public void setSalonCasa (SalonCasa objetoSalonCasa) {salonCasa = objetoSalonCasa;}
    public void setCocina (CocinaCasa objetoCocina) {cocina = objetoCocina;}
   
    //Métodos para obtener valores (getters)
    public double getSuperficie(){return superficie;}
    public String getDireccion(){return direccion;}
    public SalonCasa getSalonCasa(){return salonCasa;}
    public CocinaCasa getCocina(){return cocina;}
}
« Última modificación: 23 de Febrero 2017, 10:43 por tripeador »

tripeador

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 21
    • Ver Perfil
Re:Paso de objetos como parámetros a metodo o constructor. CU00642B.
« Respuesta #3 en: 28 de Febrero 2017, 00:38 »
Repasando un poco acabo de ver que se me pasó incluir en la corrección la clase Casa.

Código: [Seleccionar]
public class Casa
{
    // Atributos
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;

    //Constructor sin parámetros
    public Casa()
    {
        superficie = 0.0;
        direccion = "";
        salonCasa = new SalonCasa ();
        cocina = new CocinaCasa ();
    }
   
    //Constructor con parámetros
    public Casa (double valorSuperficie, String valorDireccion, SalonCasa objetoSalonCasa, CocinaCasa objetoCocinaCasa) {
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonCasa = objetoSalonCasa;
        cocina = objetoCocinaCasa;
    }
   
    //Metodos para establecer valores (setters)
    public void setSuperficie (double valorSuperficie){superficie = valorSuperficie;}
    public void setDireccion (String valorDireccion) {direccion = valorDireccion;}
    public void setSalonCasa (SalonCasa objetoSalonCasa) {salonCasa = objetoSalonCasa;}
    public void setCocina (CocinaCasa objetoCocina) {cocina = objetoCocina;}
   
    //Métodos para obtener valores (getters)
    public double getSuperficie(){return superficie;}
    public String getDireccion(){return direccion;}
    public SalonCasa getSalonCasa(){return salonCasa;}
    public CocinaCasa getCocina(){return cocina;}
}

« Última modificación: 14 de Mayo 2017, 12:05 por Alex Rodríguez »

 

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