Autor Tema: Ejercicio resuelto Java interrelacionar clases diferentes entre sí main CU00642B  (Leído 317 veces)

ronal.d87

  • Principiante
  • **
  • Mensajes: 78
    • Ver Perfil
Hola he aqui el desarrollo de la actividad CU00642B del curso básico de programación java en pdf.

Citar
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. Define otro constructor que reciba como parámetros la superficie, dirección y un objeto de tipo SalonCasa y otro de tipo CocinaCasa. Compila el código para comprobar que no presenta errores, y crea un objeto de tipo Casa usando el constructor que recibe parámetros. Ten en cuenta que antes tendrás que haber creado los objetos de tipo SalonCasa y CocinaCasa para poder pasárselos al constructor. Comprueba que el objeto Casa se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto.

Clase SalonCasa
Código: [Seleccionar]

/**
 *
 * @author Ronnie
 */
public class SalonCasaCU00642B {
    private int numeroTv ;
    private String tipoSalon;

    public SalonCasaCU00642B() {
        numeroTv = 0;
        tipoSalon = "desconocido";
    }

    public SalonCasaCU00642B(int numeroTv, String tipoSalon) {
        this.numeroTv = numeroTv;
        this.tipoSalon = tipoSalon;
    }
   
   

    public void setNumeroTv(int numeroTv) {
        this.numeroTv = numeroTv;
    }

    public void setTipoSalon(String tipoSalon) {
        this.tipoSalon = tipoSalon;
    }

    public int getNumeroTv() {
        return numeroTv;
    }

    public String getTipoSalon() {
        return tipoSalon;
    }
}

Clase Cocina Casa
Código: [Seleccionar]

/**
 *
 * @author Ronnie
 */
public class CocinaCasaCU00642B {
    private boolean esIndependiente;
    private int numeroFuegos;

    public CocinaCasaCU00642B() {
        esIndependiente = false;
        numeroFuegos = 0;
    }

    public CocinaCasaCU00642B(boolean esIndependiente, int numeroFuegos) {
        this.esIndependiente = esIndependiente;
        this.numeroFuegos = numeroFuegos;
    }
   
   

    public void setEsIndependiente(boolean esIndependiente) {
        this.esIndependiente = esIndependiente;
    }

    public void setNumeroFuegos(int numeroFuegos) {
        this.numeroFuegos = numeroFuegos;
    }

    public boolean isEsIndependiente() {
        return esIndependiente;
    }

    public int getNumeroFuegos() {
        return numeroFuegos;
    }
   
}

Clase Casa

Código: [Seleccionar]

public class CasaCU00642B {
    private double superficie;
    private String direccion;
    private SalonCasaCU00642B salonCasa;
    private CocinaCasaCU00642B cocina;
   
    //Constructor General
    public CasaCU00642B() {
        superficie = 90.23;
        direccion = "La Marsella";
        salonCasa = new SalonCasaCU00642B();
        cocina = new CocinaCasaCU00642B();
    }
    //Constructor Parametrizado
    public CasaCU00642B(double valSuperficie, String valDirec, SalonCasaCU00642B valSalCasa
            , CocinaCasaCU00642B valCocina) {
        superficie = valSuperficie;
        direccion = valDirec;
        salonCasa = new SalonCasaCU00642B(valSalCasa.getNumeroTv(),valSalCasa.getTipoSalon());
        cocina = new CocinaCasaCU00642B(valCocina.isEsIndependiente(), valCocina.getNumeroFuegos());
    } 
   
    public double getSuperficie() {
        return superficie;
    }

    public String getDireccion() {
        return direccion;
    }

    public SalonCasaCU00642B getSalonCasa() {
        return salonCasa;
    }

    public CocinaCasaCU00642B getCocina() {
        return cocina;
    }

    public void setSuperficie(double superficie) {
        this.superficie = superficie;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public void setSalonCasa(SalonCasaCU00642B valSalonCasa) {
        salonCasa = valSalonCasa;       
        salonCasa = new SalonCasaCU00642B();
        salonCasa.setNumeroTv(valSalonCasa.getNumeroTv());
        salonCasa.setTipoSalon(valSalonCasa.getTipoSalon());       
    }

    public void setCocina(CocinaCasaCU00642B valCocina) {
        cocina = valCocina;       
        cocina = new  CocinaCasaCU00642B();
        cocina.setEsIndependiente(valCocina.isEsIndependiente());
        cocina.setNumeroFuegos(valCocina.getNumeroFuegos());
    }
   
    public static void main(String[] args) {
        CasaCU00642B casa = new CasaCU00642B();
        System.out.println("la casa tiene una superficie de "+casa.getSuperficie() + ", "
                + "\n su direccion es "+ casa.getDireccion() + "\n, un salon con"
                        + casa.getSalonCasa().getNumeroTv()+" televisores, \ncon un tipo de salon "
                                + casa.getSalonCasa().getTipoSalon() + "\ntiene "+ casa.getCocina().getNumeroFuegos()+" numero de fuegos");
        if(casa.getCocina().isEsIndependiente() == true){
            System.out.println("la cocina Es independiente");
        }else{
            System.out.println("la cocina No es independiente");
        }
    }
}
« última modificación: 22 de Febrero 2019, 20:35 de Ogramar »
Ronald Mosquera Mancilla

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2484
    • Ver Perfil
Buenas, el ejercicio está bien resuelto aunque no era necesario incluir un método main (en el programa del curso aún no se ha explicado el main). Y en caso de incluirlo, es preferible hacerlo en una clase aparte. En este hilo hay algunos comentarios interesantes: https://aprenderaprogramar.com/foros/index.php?topic=1238.0

Salu2
« última modificación: 22 de Febrero 2019, 20:54 de Ogramar »

 

Esto es un laboratorio de ideas...
Aprender a programar

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