Autor Tema: Ejercicio CU00641B clases que refencian otras java  (Leído 4512 veces)

ThheMau

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 17
    • Ver Perfil
Ejercicio CU00641B clases que refencian otras java
« en: 02 de Septiembre 2014, 03:49 »
Hola a todos! Aqui les tengo la respuesta al ejercicoi. Segun lo que entendi de las indicicaciones eso es lo solicitado, pero si encuentran algo que no esta bien o que podria mejorar les agradeceria mucho que me lo hicieran saber.

Muchas gracias a todos!

Posdata: de nuevo disculpen la falta de tildes, pero vivo en USA y tengo la PC en ingles.

Clase casa:
Código: [Seleccionar]
    public class casa{
    double superficie;
    String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
    public casa (double valorSuperficie, String valorDireccion){
        superficie=valorSuperficie;
        direccion=valorDireccion;
        salonCasa=new SalonCasa();
        cocina=new CocinaCasa();
    }
   
    public void setNumeroDeTelevisores (int valorNumeroDeTelevisores){
        salonCasa.setNumeroDeTelevisores(valorNumeroDeTelevisores);
    }
    public void setTipoSalon (String valorTipoSalon){
        salonCasa.setTipoSalon(valorTipoSalon);
    }
    public void setEsIndependiente (boolean valorEsIndependiente){
        cocina.setEsIndependiente(valorEsIndependiente);
    }
    public void setNumeroDeFuegos (int valorNumeroDeFuegos){
        cocina.setNumeroDeFuegos (valorNumeroDeFuegos);
    }
}

Clase SalonCasa
Código: [Seleccionar]
    public class SalonCasa {
    int numeroDeTelevisores;
    String tipoSalon;
    public SalonCasa (){
        numeroDeTelevisores=0;
        tipoSalon="desconocido";
    }
    public void setNumeroDeTelevisores (int valorNumeroDeTelevisores){
        numeroDeTelevisores=valorNumeroDeTelevisores;
    }
    public void setTipoSalon (String valorTipoSalon){
        tipoSalon=valorTipoSalon;
    }
}

Clase CocinaCasa

Código: [Seleccionar]
    public class CocinaCasa{
    boolean esIndependiente;
    int numeroDeFuegos;
   
    public CocinaCasa (){
        esIndependiente=false;
        numeroDeFuegos=0;
    }
    public void setEsIndependiente(boolean valorEsIndependiente){
        esIndependiente=valorEsIndependiente;
    }
    public void setNumeroDeFuegos (int valorNumeroDeFuegos){
        numeroDeFuegos=valorNumeroDeFuegos;
    }
}
« Última modificación: 02 de Septiembre 2014, 17:45 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Ejercicio CU00641B clases que refencian otras java
« Respuesta #1 en: 02 de Septiembre 2014, 17:46 »
Hola, te digo las cosas que tienes que corregir:

- En todas las clases te faltan los métodos get

- Los nombres de clases deben empezar con letra mayúscula, por ejemplo Casa en lugar de casa

- El constructor de casa lo más lógico es que no reciba ningún atributo y que inicialice superfice a 0 y dirección a ""

- En la clase Casa no debes tener métodos get ni set para cosas que no sean atributos de la clase Casa. Por tanto no debes tener setNumeroDeTelevisores, porque el número de televisores es un atributo de otra clase. Cada clase se responsabiliza exclusivamente de sus atributos.

Revisa este post creo que te será útil: https://www.aprenderaprogramar.com/foros/index.php?topic=964

Saludos

ThheMau

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 17
    • Ver Perfil
Re:Ejercicio CU00641B clases que refencian otras java
« Respuesta #2 en: 02 de Septiembre 2014, 23:27 »
Hola! gracias por tu respuesta, tienes razon y creo que ya lo he corregido, me gustaria que me dieras tu opinion  ;D

Clase Casa
Código: [Seleccionar]
     public class Casa{
    double superficie;
    String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
    public Casa (){
        superficie=0;
        direccion="Desconocida";
        salonCasa= new SalonCasa();
        cocina=new CocinaCasa ();
    }
   
    public void setSuperficie (double valorSuperficie){
        superficie=valorSuperficie;
    }
    public void setDireccion (String valorDireccion){
        direccion=valorDireccion;
    }
   
    public void setNumeroDeTelevisores (int valorNumeroDeTelevisores){
        salonCasa.setNumeroDeTelevisores(valorNumeroDeTelevisores);
    }
    public void setTipoSalon (String valorTipoSalon){
        salonCasa.setTipoSalon(valorTipoSalon);
    }
    public void setEsIndependiente (boolean valorEsIndependiente){
        cocina.setEsIndependiente (valorEsIndependiente);
    }
    public void setNumeroDeFuegos (int valorNumeroDeFuegos){
        cocina.setNumeroDeFuegos (valorNumeroDeFuegos);
    }
   
    public String getDatosCasa (){
        int numeroDeTelevisores=salonCasa.getNumeroDeTelevisores();
        String tipoSalon=salonCasa.getTipoSalon();
        boolean esIndependiente=cocina.getEsIndependiente();
        int numeroDeFuegos=cocina.getNumeroDeFuegos();
        String datosCasa="La casa don direccion en: "+direccion +" tiene una superficie de " + superficie +
        "con " + numeroDeTelevisores + " televisiones, es del tipo " + tipoSalon + " su independencia es " +
        esIndependiente + " con un numero de fuegos de " + numeroDeFuegos + ".";
       
        System.out.println (datosCasa);
        return datosCasa;
    }
       
    }

       

Clase SalonCasa
Código: [Seleccionar]
public class SalonCasa {
    int numeroDeTelevisores;
    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{
    boolean esIndependiente;
    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;
    }
}

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Ejercicio CU00641B clases que refencian otras java
« Respuesta #3 en: 03 de Septiembre 2014, 09:34 »
Hola, todavía tienes cosas que mejorar.

El método setNumeroDeTelevisores no debe ir en la clase Casa porque numeroTelevisores no es un atributo de la clase Casa. Idem para setTipoSalon , setEsIndependiente, setNumeroDeFuegos

El método getDatosCasa no está mal, pero te faltan los get principales que son los get de cada uno de los atributos de la clase.

Léete este post y mira cómo está resuelto para tener una referencia: https://www.aprenderaprogramar.com/foros/index.php?topic=1220

ThheMau

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 17
    • Ver Perfil
Re:Ejercicio CU00641B clases que refencian otras java
« Respuesta #4 en: 03 de Septiembre 2014, 23:38 »
Hola, creo que ya entendi bien el concepto. Te dejo la clase Casa para que me des tu opinion, muchas gracias
Código: [Seleccionar]
public class Casa{
    double superficie;
    String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
    public Casa (){
        superficie=0;
        direccion="Desconocida";
        salonCasa= new SalonCasa();
        cocina=new CocinaCasa ();
    }
   
    public void setSuperficie (double valorSuperficie){
        superficie=valorSuperficie;
    }
    public void setDireccion (String valorDireccion){
        direccion=valorDireccion;
    }
   
    public void setSalonCasa (int valorNumeroDeTelevisores,String valorTipoSalon){
        salonCasa.setNumeroDeTelevisores(valorNumeroDeTelevisores);
        salonCasa.setTipoSalon(valorTipoSalon);
    }
    public void setCocinaCasa (boolean valorEsIndependiente, int valorNumeroDeFuegos){
        cocina.setEsIndependiente (valorEsIndependiente);
        cocina.setNumeroDeFuegos (valorNumeroDeFuegos);
    }
    public String getDatosCasa (){
        int numeroDeTelevisores=salonCasa.getNumeroDeTelevisores();
        String tipoSalon=salonCasa.getTipoSalon();
        boolean esIndependiente=cocina.getEsIndependiente();
        int numeroDeFuegos=cocina.getNumeroDeFuegos();
        String datosCasa="La casa con direccion en: "+direccion +" tiene una superficie de " + superficie +
        "con " + numeroDeTelevisores + " televisiones, es del tipo " + tipoSalon + " su independencia es " +
        esIndependiente + " con un numero de fuegos de " + numeroDeFuegos + ".";
       
        System.out.println (datosCasa);
        return datosCasa;
    }
       
    }

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Ejercicio CU00641B clases que refencian otras java
« Respuesta #5 en: 04 de Septiembre 2014, 09:06 »
Hola, tienes 4 atributos, por tanto deberías tener 4 métodos get y 4 métodos set, como no los tienes todavía no se puede decir que esté bien, yo al menos veo 4 set pero no veo los 4 get  :(

Léete este post y mira cómo está resuelto para tener una referencia: https://www.aprenderaprogramar.com/foros/index.php?topic=1220

 

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