Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: tripeador en 19 de Febrero 2017, 17:32

Título: Escribir varias clases Java de la misma temática relacionando entre sí CU00642B.
Publicado por: tripeador en 19 de Febrero 2017, 17:32
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 ();
    }
}

Título: Re:Paso de objetos como parámetros a metodo o constructor. CU00642B.
Publicado por: pedro,, 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
Título: Re:Paso de objetos como parámetros a metodo o constructor. CU00642B.
Publicado por: tripeador 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;}
}
Título: Re:Paso de objetos como parámetros a metodo o constructor. CU00642B.
Publicado por: tripeador 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;}
}