Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 29 de Febrero 2016, 19:19

Título: Java constructor que recibe objetos como parámetros y crea nuevo objeto CU00641B
Publicado por: Dimitar Stefanov en 29 de Febrero 2016, 19:19
Buenas noches.

Aquí dejo una posible solución del ejercicio CU00641B del curso Java desde cero.

Citar
EJERCICIO

Define tres clases: Casa, SalonCasa y CocinaCasa. La clase SalonCasa debe tener como atributos numeroDeTelevisores (int) y tipoSalon (String) y disponer de un constructor que los inicialice a 0 y “desconocido”. La clase CocinaCasa debe tener como atributos esIndependiente (boolean) y numeroDeFuegos (int) y un constructor que los inicialice a false y 0. La clase Casa tendrá los siguientes atributos de clase: superficie (double), direccion (String), salonCasa (tipo SalonCasa) y cocina (tipo CocinaCasa). Define un constructor para la clase Casa que establezca a unos valores de defecto los atributos simples y que cree nuevos objetos si se trata de atributos objeto. Compila el código para comprobar que no presenta errores, crea un objeto de tipo Casa. Comprueba que se inicializan correctamente consultando el valor de sus atributos después de haber creado los objetos.

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();
    }
}

Gracias
Título: Re:CU00641B Clases que utilizan objetos. Relación de uso entre clases Java
Publicado por: pedro,, en 01 de Marzo 2016, 21:53
Hola dimiste.

El ejercicio no esta completo, faltan dos de las clases y la que pusiste no esta completa.

Saludos.
Título: Re:CU00641B Clases que utilizan objetos. Relación de uso entre clases Java
Publicado por: Dimitar Stefanov en 02 de Marzo 2016, 09:52
Buenos días.

Perdonad.

Código "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;}
}

Código "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 getEsIndependiente(){return esIndependiente;}
   
    public int getNumeroDeFuegos(){return numeroDeFuegos;}
}

Código "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 setEsIndependiente(boolean valorEsIndependiente){
        cocina.setEsIndependiente(valorEsIndependiente);
    }
   
    public void setNumeroDeFuegos(int valorNumeroDeFuegos){
        cocina.setNumeroDeFuegos(valorNumeroDeFuegos);
    }
   
    public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
        salonCasa.setNumeroDeTelevisores(valorNumeroDeTelevisores);
    }
   
    public void setTipoSalon(String valorTipoSalon){
        salonCasa.setTipoSalon(valorTipoSalon);
    }
   
    public void setSuperficie(double valorSuperficie){
        superficie = valorSuperficie;
    }
   
    public void setDireccion(String valorDireccion){
        direccion = valorDireccion;
    }
   
    public double getSuperficie(){return superficie;}
   
    public String getDireccion(){return direccion;}
   
    public SalonCasa getSalonCasas(){return salonCasa;}
   
    public CocinaCasa getCocinaCasa(){return cocina;}
   
}

Ahora creo que sí :)
Título: Re:Java constructor que recibe objetos como parámetros y crea nuevo objeto CU00641B
Publicado por: pedro,, en 03 de Marzo 2016, 21:51
Hola, lo veo todo bien.

Recomiendo ver este enlace.

https://www.aprenderaprogramar.com/foros/index.php?topic=1220.msg6718#msg6718

Saludos.