Autor Tema: Java Clases utilizan objetos introducir unos objetos dentro de otros CU00641B  (Leído 3176 veces)

Damian

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 47
    • Ver Perfil
CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B)

SALONCASA.

Código: [Seleccionar]
/*Definición del tipo de Salón de una casa
 * Damian
 */
public class SalonCasa{
    private int numeroDeTelevisores;
    private String tipoSalon;

    //Constructor
    public SalonCasa(){
        numeroDeTelevisores= 0;
        tipoSalon= "Desconocido";

    }//Cierre del constructor
   
    //Métodos setter
    public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
        numeroDeTelevisores= valorNumeroDeTelevisores;
    }
    public void setTipoSalon(String valorTipoSalon){
        tipoSalon= valorTipoSalon;
    }
   
    //Métodos getter
    public int getNumeroDeTelevisores(){return numeroDeTelevisores;}
    public String getTipoSalon(){return tipoSalon;}

}//Cierre del método

COCINACASA.

Código: [Seleccionar]
/*Ejemplo de definición de la Cocina de una Casa
 * Damian
 */
public class CocinaCasa{
    private boolean esIndependiente;
    private int numeroDeFuegos;

    //Constructor para el tipo Cocina
    public CocinaCasa(){
        esIndependiente= false;
        numeroDeFuegos= 0;

    }//Cierre del constructor
   
    //Métodos setter
    public void setEsIndependiente(boolean valorEsIndependiente){
        esIndependiente= valorEsIndependiente;
    }
    public void setNumeroDeFuego(int valorNumeroDeFuegos){
        numeroDeFuegos= valorNumeroDeFuegos;
    }
   
    //Métodos getter
    public boolean getEsIndependiente(){return esIndependiente;}
    public int getNumeroDeFuegos(){return numeroDeFuegos;}

}//Cierre del método

CASA.

Código: [Seleccionar]
/*Ejemplo de definición de una Casa
 * Damian
 */
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa SalonCasa;
    private CocinaCasa CocinaCasa;

    //Constructor
    public Casa(){
        superficie= 0;
        direccion= "Desconocida";
        SalonCasa= SalonCasa;
        CocinaCasa= CocinaCasa;
    }

    //Método setter
    public void setSuperficie(double valorSuperficie){
        superficie= valorSuperficie;
    }

    public void setDireccion(String valorDireccion){
        direccion= valorDireccion;
    }

    public void setSalonCasa(SalonCasa valorSalonCasa){
        SalonCasa= valorSalonCasa;
    }

    public void setCocina(CocinaCasa valorCocinaCasa){
        CocinaCasa= valorCocinaCasa;
    }

    //Métodos getter
    public double getSuperficie(){return superficie;}

    public String getDireccion(){return direccion;}

    public SalonCasa getSalonCasa(){return SalonCasa;}

    public CocinaCasa getCocina(){return CocinaCasa;}
}//Cierre del método

Estas son las diferentes clases de este nivel, espero estar bien, pero me gustaría saber, si en la clase Casa de este nivel, hay otra forma de utilizar los métodos y si sería correctos utilizarlos, por si los hay.
« Última modificación: 02 de Abril 2017, 18:18 por Alex Rodríguez »

Erik_Escriche

  • Principiante
  • **
  • Mensajes: 65
    • Ver Perfil
Re:CLASES QUE UTILIZAN OBJETOS. (CU00641B)
« Respuesta #1 en: 24 de Enero 2017, 20:04 »
Hola Damian.

Solo quiero corregir dos cosas. La primera es que normalmente los objetos empiezan por minúscula para distinguirlos de las clases, que empiezan por mayúscula. Así, en vez de declarar un objeto "SalonCasa SalonCasa" y un objeto "CocinaCasa CocinaCasa", yo declararía un "SalonCasa salonCasa" y un "CocinaCasa cocinaCasa".

Por otra parte, en el constructor de la clase Casa se deben crear los objetos salonCasa y cocinaCasa:

Código: [Seleccionar]
public Casa(){
        superficie= 0;
        direccion= "Desconocida";
        salonCasa= new SalonCasa();
        cocinaCasa= new CocinaCasa();
    }

En el enunciado se explicaba así:
Citar
Define un constructor para la clase Casa que establezca unos valores de defecto para los atributos simples y que cree nuevos objetos si se trata de atributos objeto.

Espero que te sirva. ¡Saludos!
« Última modificación: 24 de Enero 2017, 20:06 por Erik_Escriche »

Damian

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 47
    • Ver Perfil
Re:CLASES QUE UTILIZAN OBJETOS. (CU00641B)
« Respuesta #2 en: 25 de Enero 2017, 01:49 »
Hola Erik_Escriche

Pues te comento que lo hice así, pero me salía error cuando lo compilaba, por esa razón tuve que ponerle al objeto, la primera letra en mayúsculas y así, al compilarlo otra vez, no me salió, pero te agradezco por tu apunte y trataré de corregirlo, esperando a que no salga error.

Gracias.

Erik_Escriche

  • Principiante
  • **
  • Mensajes: 65
    • Ver Perfil
Re:CLASES QUE UTILIZAN OBJETOS. (CU00641B)
« Respuesta #3 en: 25 de Enero 2017, 18:14 »
Es posible que no te funcionara por lo del constructor. Prueba a crear los objetos en el constructor de la clase Casa. A mí me compiló correctamente cuando hice los cambios.

¡Suerte!

 

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