Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Danteco87 en 10 de Marzo 2015, 18:44

Título: (CU00641B) Clases que usan objetos. Relación de uso entre clases Java. Concepto
Publicado por: Danteco87 en 10 de Marzo 2015, 18:44
Hola! Aquí dejo otro ejercicio, creo que está bien ya que lo he utilizado y me funciona, de todas formas cualquier apunte os lo agradezco, gracias!

Clase SalonCasa

Código: [Seleccionar]
public class SalonCasa{
    private int numeroDeTelevisores;
    private String tipoSalon;
    public SalonCasa(){
        numeroDeTelevisores=0;
        tipoSalon="Desconocido";
    }

    public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
        numeroDeTelevisores=valorNumeroDeTelevisores;}

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

    public int getNumeroDeTelevisores(){return numeroDeTelevisores;}

    public String getTipoSalon (){return tipoSalon;}
}

Clase CocinaCasa

Código: [Seleccionar]
public class CocinaCasa{
    private boolean esIndependiente;
    private int numeroDeFuegos;
    public CocinaCasa(){
        esIndependiente=false;
        numeroDeFuegos=0;}

    public void setEsIndependiente(boolean valorEsIndependiente){
        esIndependiente=valorEsIndependiente;}

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

    public boolean getEsIndependinte(){return esIndependiente;}

    public int getNumeroDeFuegos(){return numeroDeFuegos;}
}

Clase Casa

Código: [Seleccionar]
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
    public Casa(){
        superficie=0;
        direccion="";
        salonCasa= new SalonCasa();
        cocina= new CocinaCasa();
    }
    public void setSuperficie (double valorSuperficie){
        superficie=valorSuperficie;
    }
    public void setDireccion(String valorDireccion){
        direccion=valorDireccion;
    }
    public void setSalonCasa (SalonCasa valorSalonCasa){
        salonCasa=valorSalonCasa;
    }
    public void setCocina (CocinaCasa valorCocina){
        cocina=valorCocina;
    }
    public double getSuperficie (){return superficie;}
    public String getDireccion (){return direccion;}
    public SalonCasa getSalonCasa () {return salonCasa;}
    public CocinaCasa getCocina () {return cocina;}
}
Título: Re:(Cu00641B)Clases que utilizan objetos.Relación de uso entre clases Java.Concepto
Publicado por: toni_apr en 10 de Marzo 2015, 22:15
Hola Danteco

Tu ejercicio está perfecto. OK.

Solamente se te perdió una e en el nombre del método
    getEsIndependinte()
de la clase CocinaCasa.

A parte de eso. todo bien.

Saludos
Título: Re:(CU00641B) JAVA
Publicado por: Marcel en 20 de Marzo 2015, 12:14
Buenos días, he realizado este ejercicio por mi cuenta y ahora he estado revisando las soluciones que hay en el foro y la de este usuario no entiendo el funcionamiento de los setters: void setSalonCasa( SalonCasa valorSalonCasa) y el void setCocina (CocinaCasa valorCocina) tal y como están ya que no veo como se le asignan los valores.
Título: Re:(CU00641B) Clases que usan objetos. Relación de uso entre clases Java. Concepto
Publicado por: Mario R. Rancel en 22 de Marzo 2015, 16:49
Hola Marcel, al hacer esto:

Código: [Seleccionar]
public void setSalonCasa (SalonCasa valorSalonCasa){
        salonCasa=valorSalonCasa;
    }

Lo que se está haciendo es pasar un objeto (completo) al método. Y la asignación aquí implica que se transfieren todos los valores asociados al objeto que se recibe "de golpe".

En este link hay una explicación un poco más amplia que te puede ser útil: https://www.aprenderaprogramar.com/foros/index.php?topic=1220

Saludos
Título: Re:(CU00641B)
Publicado por: Marcel en 23 de Marzo 2015, 12:22
Ok, gracias.

Al seguir avanzando con el curso ya vi el funcionamiento y lo entendí, gracias.

Un saludo.