Foros aprenderaprogramar.com

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

Título: (CU00642B) Pasar objetos como parámetros a un método o constructor Java.
Publicado por: Danteco87 en 10 de Marzo 2015, 19:01
Os dejo otro ejercicio,cualquier cosa la 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 Casa(double valorSuperficie, String valorDireccion, SalonCasa valorSalon, CocinaCasa valorCocina){
        superficie=valorSuperficie;
        direccion=valorDireccion;
        salonCasa=valorSalon;
        cocina=valorCocina;
    }
    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:(Cu00642B)Pasar objetos como parámetros a un método o constructor Java. Diferenc
Publicado por: toni_apr en 10 de Marzo 2015, 22:37
Hola Danteco

Ejercicio correcto también. Aquí debes haber copiado el método
    getEsIndependinte()
pues tiene la misma deficiencia en el nombre.
Esto no afecta a la ejecución del programa. Pero puede despistar, intentando buscar un atributo 'esIndependinte'

Nota:
Para los atributos set de los objetos como:
Código: [Seleccionar]
    public void setSalonCasa (SalonCasa valorSalonCasa){
        salonCasa=valorSalonCasa;
    }
También se puede usar la siguiente forma.
Código: [Seleccionar]
    public void setSalonCasa (SalonCasa valorSalonCasa){
        salonCasa= new SalonCasa();
        salonCasa.setNumeroDeTelevisores(valorSalonCasa.getNumeroDeTelevisores());
        salonCasa.setTipoSalon(valorSalonCasa.getTipoSalon());
    }

Saludos
Título: Re:(Cu00642B)Pasar objetos como parámetros a un método o constructor Java. Diferenc
Publicado por: Danteco87 en 10 de Marzo 2015, 22:40
Pero es compatible o es mejor usar la forma que tu me explicas?? Si, al método getEsIndependiente fue un copia y pega de la otra clase de ahí que me falte, gracias y saludos
Título: Re:(CU00642B) Pasar objetos como parámetros a un método o constructor Java.
Publicado por: toni_apr en 11 de Marzo 2015, 22:38
Hola Danteco

Las dos formas son compatibles.
La tuya es más compacta.
La que aporto yo, es una variación del mismo método set, que muestra otra forma de hacerlo. Pero que no quiero que complique tu aprendizaje.
Es solo otro punto de vista sobre lo mismo.

Saludos.