Autor Tema: Java código de varias clases que se relacionan y utilizan entre sí CU00641B  (Leído 2003 veces)

german_i23

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 6
    • Ver Perfil
 Buenas, queria saber si alguien me podia orientar en si esta bien resuelto el ejercicio de esta entrega (mire en otros temas y no pude llegar a la conclucion yo mismo si estaba bien resuelto), ya que fue una entrega que me complico comprender, aunque creo que finalmente lo pude hacer. Dejo debajo los 3 codigos de cada una de las clases.

CODIGO DE SALON CASA
Código: [Seleccionar]
public class saloncasa {
    //Declaro los parametros que va a tener mi clase "saloncasa"
   
    private int nrotv;
    private String tiposalon;
   
    //Creo constructor para inicializar los parametros
      public saloncasa () {
          nrotv = 0;
          tiposalon = "desconocido";
        }
         
       
     
        //Creo metodo para introducirle valor a los parametros
       
     public void setNrotv (int valorNrotv) {
         nrotv = valorNrotv;
        }
       
      public void setTiposalon (String valorTiposalon) {
          tiposalon = valorTiposalon;
        }
       
       
      //Creo metodo para que me devuelve los valores de los parametros
     
      public int getNrotv () {return nrotv;}
      public String getTiposalon () {return tiposalon;}
     
    }

CODIGO DE COCINACASA
Código: [Seleccionar]
public class cocinacasa {
    private boolean esindependiente;
    private int nrodefuegos;
   
    public cocinacasa () {
        esindependiente = false;
        nrodefuegos = 0;
    }
   
    public void setEsindependiente (boolean valorEsindependiente) {
        esindependiente = valorEsindependiente;
    }
   
    public void setNrodefuegos (int valorNrodefuegos) {
        nrodefuegos = valorNrodefuegos;
    }
   
    public boolean getEsindependiente () {return esindependiente;}
    public int getnrodefuegos () {return nrodefuegos;}
   
}

CODIGO DE CASA
Código: [Seleccionar]
public class casa {
    private double superficie;
    private String direccion;
    private saloncasa saloncasa1;
    private cocinacasa cocinacasa1;
   
   public casa () {
       superficie = 0.0;
       direccion = "desconocido";
       saloncasa1 = new saloncasa ();
       cocinacasa1 = new cocinacasa ();
    }
   
    public void  setSuperficie (double valorSuperficie) {
        superficie = valorSuperficie;
    }
   
    public  void  setDireccion (String valorDireccion) {
        direccion = valorDireccion;
    }
   
    public void setCocinacasa1 (cocinacasa valorCocinacasa1) {
        cocinacasa1 = valorCocinacasa1;
    }
   
    public void setSaloncasa1 (saloncasa valorSaloncasa1) {
        saloncasa1 = valorSaloncasa1;
    }
   
    public double getSuperficie () {return superficie;}
    public String getDireccion () {return direccion;}
    public saloncasa getSaloncasa1 () {return saloncasa1;}
    public cocinacasa getCocinacasa1 () {return cocinacasa1;}
}

 Se que estoy, por llamarlo de alguna manera, poniendome pesado en el foro preguntando muchas cosas, pero es para estar seguro de estar yendo por el camino correcto. Mas adelante, si dios quiere, me tocara ayudar a mi.

 Saludos.
« Última modificación: 28 de Junio 2016, 22:36 por Alex Rodríguez »

Nakocho

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Re:Ejercicio entrega CU00641B
« Respuesta #1 en: 22 de Junio 2016, 15:51 »
Hola German_i23, yo he escrito otro código, he visto el tuyo y creo, dentro de mi ignorancia que esta bien. Lo único, yo cambiaría el nombre de las clases por la primera en mayusculas, pues te sera mas fácil identificar, por lo menos para mi. (private saloncasa saloncasa1;)
Pero yo lo he hecho de otro modo, el resultado me da bueno pero no se si lo habré hecho bien, a ver si hay alguno que nos pueda corregir en el caso de que nos haga falta.

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 SalonCasa
Código: [Seleccionar]
public class SalonCasa{
    private int numeroDeTelevisiones;
    private String tipoSalon;
   
    public SalonCasa(){
        numeroDeTelevisiones=0;
        tipoSalon="desconocido";
    }
    public void setNumeroDeTelevisiones(int valorNumeroDeTelevisiones){
        numeroDeTelevisiones=valorNumeroDeTelevisiones;
    }
    public void setTipoSalon (String valorTipoSalon){
        tipoSalon=valorTipoSalon;
    }
   
    public int getNumeroDeTelevisiones(){return numeroDeTelevisiones;}
   
    public String getTipoSalon(){return tipoSalon;}
   
}
Código Casa
Código: [Seleccionar]
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
    private String datosSalon;
    private String datosCocina;
   
    public Casa(){
        //establezco unos valores de defecto los atributos simples
        superficie=0;
        direccion="Direccion";
        //Creo nuevos objetos si se trata de atributos objeto
        salonCasa =new SalonCasa();
        cocina =new CocinaCasa();
    }
       
    //Seters
   
    public void setSuperficie(Double valorSuperficie){
        superficie=valorSuperficie;
    }
    public void setDireccion(String valorDireccion){
        direccion=valorDireccion;
    }
   
   
   
    public void setNumeroDeTelevisiones(int valorNumeroDeTelevisiones){  //para que esto se realice en saloncasa tambien tienen qu existir los seters
        salonCasa.setNumeroDeTelevisiones(valorNumeroDeTelevisiones);
    }
    public void setTipoSalon(String valorTipoSalon){
        salonCasa.setTipoSalon(valorTipoSalon);
    }
    // o de esta manera
    public void setCocina(boolean valorEsIndependiente,int valorNumeroDeFuegos){
        cocina.setEsIndependiente(valorEsIndependiente);
        cocina.setNumeroDeFuegos(valorNumeroDeFuegos);
    }
    /*
    public void setSalon ( SalonCasa valorSalon ) {
        salonCasa = new SalonCasa();
        salonCasa.setNumeroDeTelevisiones(valorSalon.getNumeroDeTelevisiones());
        salonCasa.setTipoSalon(valorSalon.getTipoSalon());
    }
    */
    public String getDatosSalon(){
        String tipoSalon=salonCasa.getTipoSalon();
        int numeroDeTelevisiones=salonCasa.getNumeroDeTelevisiones();
        datosSalon="\n\tSalon tipo: " + tipoSalon + "\n\tNumero de Televisiones: "+ numeroDeTelevisiones;
        return datosSalon;
    }
   
    public String getDatosCocina(){
        boolean esIndependiente=cocina.getEsIndependiente();
        int numeroDeFuegos= cocina.getNumeroDeFuegos();
        datosCocina="\n\tLa cocina es independiente: " + esIndependiente+"\n\tNumero de fuegos: " + numeroDeFuegos;
        return datosCocina;
    }
   
    public String getDatosCasa(){
        String datosCasa;
        getDatosSalon();
        getDatosCocina();
        datosCasa="\nDatos de la casa:\n\tDireccion: " + direccion + "\n\tSuperficie" + superficie + " \nSalon: " + datosSalon + " \nCocina: " + datosCocina;
        System.out.println(datosCasa);
        return datosCasa;
       
       
    }
 }

Espero que alguien me diga si esta correcto.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola, lo primero comentar que para exponer la respuesta a un ejercicio debe abrirse un nuevo hilo, no responder sobre un hilo abierto por otro compañero.

El ejercicio de german_i23 está bien, únicamente comentar lo indicado por Nakocho, que los nombres de las clases Java deben comenzar con mayúsculas, y los nombres de los atributos con minúsculas.

El ejercicio de Nakocho no está bien ¿Por qué? Porque incluye código como esto en la clase Casa:

Código: [Seleccionar]
public void setNumeroDeTelevisiones(int valorNumeroDeTelevisiones){  //para que esto se realice en saloncasa tambien tienen qu existir los seters
        salonCasa.setNumeroDeTelevisiones(valorNumeroDeTelevisiones);
    }

El número de televisores es un atributo de los salones, no de las casas. Cada clase debe manipular (set y get) únicamente sus atributos, no los atributos de otras clases.

Sería bueno que leyeran lo que se comenta en este hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=1220.0

Saludos

 

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