Autor Tema: Relación de uso entre clases - Ejercicio (CU00641B)  (Leído 852 veces)

Magore

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Relación de uso entre clases - Ejercicio (CU00641B)
« en: 29 de Mayo 2023, 22:18 »
Buenas noches.

Adjunto mi propuesta de solución para el ejercicio (CU00641B).

No tengo nada claro que estén correctas las implementaciones de los Setters y Getters de las clases SalonCasa y CocinaCasa dentro de la clase Casa. Ni tampoco estoy seguro de si esos métodos deben estar incluidos dentro de esa clase. ¿Podríais, por favor, aclarármelo?

Código: [Seleccionar]
public class SalonCasa {
    private int numeroDeTelevisores;
    private String tipoSalon;
   
// Constructor:
    public SalonCasa() {
        numeroDeTelevisores = 0;
        tipoSalon = "desconocido";
    }
   
// Setters:
    public void setNumeroDeTelevisores (int valorNumeroDeTelevisores) {
        numeroDeTelevisores = valorNumeroDeTelevisores;
    }
    public void setTipoSalon (String valorTipoSalon) {
        tipoSalon = valorTipoSalon;
    }
   
// Getters:
    public int getNumeroDeTelevisores() {
        return numeroDeTelevisores;
    }
    public String getTipoSalon() {
        return tipoSalon;
    }
}

Código: [Seleccionar]
public class CocinaCasa {
    private boolean esIndependiente;
    private int numeroDeFuegos;
   
// Constructor:
    public CocinaCasa() {
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
   
// Setters:
    public void setEsIndependiente (boolean valorEsIndependiente) {
        esIndependiente = valorEsIndependiente;
    }
    public void setNumeroDeFuegos (int valorNumeroDeFuegos) {
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
// Getters:
    public boolean getEsIndependiente() {
        return esIndependiente;
    }
    public int getNumeroDeFuegos() {
        return numeroDeFuegos;
    }
}

Código: [Seleccionar]
public class Casa {
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
// Constructor:
    public Casa() {
        superficie = 0.0;
        direccion = "";
        salonCasa = new SalonCasa();
        cocina = new CocinaCasa();     
    }
   
// 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;
    }

// Getters:
    public double getSuperficie() {
        return superficie;
    }
    public String getDireccion() {
        return direccion;
    }
    public SalonCasa getSalonCasa() {
        return salonCasa;
    }
    public CocinaCasa getCocina() {
        return cocina;
    }
}

Un saludo.

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re: Relación de uso entre clases - Ejercicio (CU00641B)
« Respuesta #1 en: 30 de Mayo 2023, 00:16 »
Está correcto tal cuál lo has hecho.

Si queremos saber si la cocina de una Casa es independiente o no, le pediremos al objeto Casa que nos retorne su objeto CocinaCasa y a este objeto retornado le pediremos que nos retorne el boolean que indica si la cocina es independiente.

Por tanto, la clase Casa no necesita tener su propio método para indicar como es la cocina, basta con el que ya viene incluido en su atributo CocinaCasa
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

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