Autor Tema: Ejercicio (CU00641B) Clases usan objetos java Revision  (Leído 5025 veces)

Java_Maya14

  • Sin experiencia
  • *
  • Mensajes: 15
  • I Know You want it <3
    • Ver Perfil
Ejercicio (CU00641B) Clases usan objetos java Revision
« en: 08 de Julio 2014, 10:18 »
Hola que tal dejo El código para el ejercicio..
Clase SalonCasa:
Código: [Seleccionar]
/** Ejercicio 18: Casa - (Clases que utilizan objetos).
 * Alumno: Cristian Alberto balam martinez
 * 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.
 *Inicio del codigo:
 */
public class SalonCasa {
    int NumeroDeTelevisores;
    String TipoSalon ;
    //Inicio del Constructor:
    public SalonCasa () {
        NumeroDeTelevisores = 0;
        TipoSalon = "Desconocido";
    }//Cierre del constructor
    //Setters
    public void setTipoSalon (String valorTipoSalon) {
        TipoSalon = valorTipoSalon;
        System.out.println ("El Tipo de salon es: "+TipoSalon);
    }

    public void settNumeroDeTelevisores (int valorNumeroDeTelevisores) {
        NumeroDeTelevisores = valorNumeroDeTelevisores;
        System.out.println ("El Salon "+TipoSalon+" Tiene: "+NumeroDeTelevisores+" Televisores");
    }
    //Getters
    public String getTipoSalon () { return TipoSalon; }//Cierre del metodo

    public int getNumeroDeTelevisores () { return NumeroDeTelevisores; }//Cierre del metodo
}//Cierre de la clase
/**
 * El codigo Finaliza... Sin errores de sintaxis.
 */
Clase CocinaCasa:
Código: [Seleccionar]
/** Ejercicio 18: Casa - (Clases que utilizan objetos).
 * Alumno: Cristian Alberto balam martinez
 * 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.
 *Inicio del codigo:
 */
public class CocinaCasa {
    boolean EsIndependiente;
    int NumeroDeFuegos;
    //Inicio del constructor:
    public CocinaCasa () {
        EsIndependiente = false;
        NumeroDeFuegos = 0;
    }
    //Setters
    public void setEsIndependiente (boolean valorEsIndependiente) {
        EsIndependiente = valorEsIndependiente;
        System.out.println ("La cocina es independiente: "+EsIndependiente);
    }
   
    public void setNumeroDeFuegos (int valorNumeroDeFuegos) {
        NumeroDeFuegos = valorNumeroDeFuegos;
        System.out.println ("La cocina Tiene "+NumeroDeFuegos+" Fuegos");
    }
    //Getters
    public boolean getEsIndependiente () { return EsIndependiente; }//Cierre del metodo
   
    public int getNumeroDeFuegos () { return NumeroDeFuegos; }//Cierre del metodo
}//Cierre de la clase
/**
 * El codigo finaliza..... sin errores de sintaxis...
 */
       
Clase Casa:
Código: [Seleccionar]
/** Ejercicio 18: Casa - (Clases que utilizan objetos).
 * Alumno: Cristian Alberto balam martinez
 * 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.
 *Inicio del codigo:
 */
public class Casa {
    double Superficie;
    String Direccion;
    private SalonCasa TipoSalonCasa;
    private CocinaCasa TipoCocinaCasa;
    //Inicio del constructor:
    public Casa () {
        Superficie = 0.00;
        Direccion = "Desconocido";
        TipoSalonCasa = new SalonCasa ();
        TipoCocinaCasa = new CocinaCasa ();
    }//Cierre del constructor
    //Setters
    public void setSuperficie (double valorSuperficie) {
        Superficie = valorSuperficie;
        System.out.println ("La Superficie es de: "+Superficie+" m2");
    }
    public void setDireccion (String valorDireccion) {
        Direccion = valorDireccion;
        System.out.println ("La direccion de la Casa es: "+Direccion+ "La Superficie de la casa es: "+Superficie);
    }
   
    public void setTipoSalon (String valorTipoSalon) { TipoSalonCasa.setTipoSalon(valorTipoSalon); }
   
    public void setEsIndependiente (boolean valorEsIndependiente) { TipoCocinaCasa.setEsIndependiente(valorEsIndependiente); }
    //Getters
    public String getDatosCasa () {
        String TipoSalon = TipoSalonCasa.getTipoSalon();
        int NumeroDeTelevisores = TipoSalonCasa.getNumeroDeTelevisores();
        boolean EsIndependiente = TipoCocinaCasa.getEsIndependiente();
        int NumeroDeFuegos = TipoCocinaCasa.getNumeroDeFuegos();
        String DatosCasa = "El objeto Casa Presenta Estos datos, Tipo de salon: "+TipoSalon+
        ", Numero De televisores: "+NumeroDeTelevisores+
       
        ", Y el Tipo de cocina, ¿Es independiente?: "
        +EsIndependiente+", El numero de fuegos es: "+NumeroDeFuegos;
       
        System.out.println (DatosCasa);
       
        return DatosCasa;
    }
}

       
Espero que este bien.. Gracias por estar al pendiente y ayudarnos..
« Última modificación: 31 de Agosto 2014, 18:50 por Alex Rodríguez »
No es necesario apagar la luz del otro para que brille la nuestra.. -Gandhi-

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ejercicio (CU00641B) Clases usan objetos Revision porfa
« Respuesta #1 en: 08 de Julio 2014, 14:06 »
Hola, revisando el código te digo las cosas mejorables:

- Los nombres de atributos deben empezar con minúsculas, por ejemplo en vez de NumeroDeTelevisores que sea numeroDeTelevisores

- Los métodos set y get no deben incluir sentencias System.out.println (puedes ponérselas para comprobar que se ejecutan, pero en un código definitivo deberías quitarlas).

- Nombres de atributo como TipoSalonCasa no son adecuados porque son confusos. Mejor sería salonDeLaCasa ó salonDeEstaCasa o simplemente salonCasa (empezando con minúsculas siempre).

- Dentro de la clase Casa no deben existir métodos set de otras clases. Por ejemplo dentro de la clase Casa no debe estar public void setTipoSalon, cada clase tiene sus métodos get y set, y otras clases no deben entrar a definir esos métodos.

- Dentro de la clase Casa te faltan los métodos get. Deberías tener estos métodos:

getSuperficie (devolverá un double)

getDirecion (devolverá un String)

get TipoSalonCasa o mejor simplemente getSalonCasa (devolverá un objeto SalonCasa)

get TipoCocinaCasa o mejor simplemente getCocinaCasa (devolverá un objeto CocinaCasa)

Ten en cuenta que un método puede devolver un objeto completo, no hay nada que lo prohiba.


- En la clase casa podrías tener métodos setSalonCasa y set cocinaCasa que reciban un objeto y modifiquen el atributo correspondiente para que pase a ser el objeto recibido.


Java_Maya14

  • Sin experiencia
  • *
  • Mensajes: 15
  • I Know You want it <3
    • Ver Perfil
Re:Ejercicio (CU00641B) Clases usan objetos Revision porfa
« Respuesta #2 en: 12 de Julio 2014, 04:03 »
Hola que tal muchas gracias por su tiempo en responder corregire el codigo gracias.
No es necesario apagar la luz del otro para que brille la nuestra.. -Gandhi-

yami_jlo

  • Sin experiencia
  • *
  • Mensajes: 7
    • Ver Perfil
Re:Ejercicio (CU00641B) Clases usan objetos Revision porfa
« Respuesta #3 en: 21 de Julio 2014, 15:31 »
Hola,
Yo en mi código, en la clase Casa solo coloqué los métodos get y set de los atributos de esa clase y los objetos simplemente los instancié... está bien así? o causará conflicto después? (uso Netbeans)
Código: [Seleccionar]
public class Casa {

    double v_superficie;
    String v_direccion;
    SalonCasa v_salonCasa;
    CocinaCasa v_cocina;

    public Casa() {
        v_superficie = 0.0;
        v_direccion = "San Antonio";
        v_salonCasa = new SalonCasa();
        v_cocina = new CocinaCasa();


    }

    public void setSuperficie(double vSuperficie) {
        v_superficie = vSuperficie;
    }

    public void setDireccion(String vDireccion) {
        v_direccion = vDireccion;
    }
   
    public double getSuperficie() {
        return v_superficie;
    }

    public String getDireccion() {
        return v_direccion;
    }

    public static void main(String[] args) {
        Casa obj = new Casa();
        System.out.println("Superficie: "+obj.getSuperficie());
        System.out.println("Direccion: "+obj.getDireccion());
        System.out.println("Salon: "+ obj.v_salonCasa.getSalon());
        System.out.println("Televisores: "+ obj.v_salonCasa.getTelevisores());
        System.out.println("Fuegos: "+ obj.v_cocina.getFuegos());
        System.out.println( "Independiente: " + obj.v_cocina.getIndependiente());   

    }
}



Código: [Seleccionar]
public class SalonCasa {
    int v_numeroDeTelevisores;
    String v_tipoSalon;
   
   
    public SalonCasa (){
    v_numeroDeTelevisores=0;
    v_tipoSalon= "desconocido";
   
    }
   
    public void setTelevisores (int vTelevisores){ v_numeroDeTelevisores= vTelevisores;}
    public void setSalon (String vSalon){ v_tipoSalon= vSalon;}
   
    public int getTelevisores () {return v_numeroDeTelevisores;}
    public String getSalon (){ return v_tipoSalon;}
   
}

Código: [Seleccionar]
public class CocinaCasa {
   
    boolean v_esIndependiente;
    int v_numeroDeFuegos;
   
   
    public CocinaCasa(){
    v_esIndependiente=false;
    v_numeroDeFuegos=0;
    }   
   
    public void setIndependiente (boolean vIndependiente){ v_esIndependiente= vIndependiente;}
    public void setFuegos (int vFuego){ v_numeroDeFuegos= vFuego;}
   
    public boolean getIndependiente () {return v_esIndependiente;}
    public int getFuegos (){ return v_numeroDeFuegos;}
   
   
   
}

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Ejercicio (CU00641B) Clases usan objetos Revision porfa
« Respuesta #4 en: 21 de Julio 2014, 17:44 »
Hola, son atributos de clase tanto los tipos primitivos como los objetos. Y normalmente se establecen métodos get y set tanto para los tipos primitivos como para los objetos. En el caso de trabajar con objetos, los set reciben un objeto e igualan el atributo al objeto recibido. En el caso de los get, devuelven un objeto (el atributo).

Hay distitas variantes pero la idea general es esta, y esto sería lo que le falta a tu código.

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