Foros del Web » Programación para mayores de 30 ;) » Java »

objeto como atributo de una clase

Estas en el tema de objeto como atributo de una clase en el foro de Java en Foros del Web. Hola gente estoy empezando con jsp y tengo que 2 clases java donde una es parte de la otra, ej: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : ...
  #1 (permalink)  
Antiguo 13/05/2012, 11:39
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
objeto como atributo de una clase

Hola gente estoy empezando con jsp y tengo que 2 clases java donde una es parte de la otra, ej:
Código Javascript:
Ver original
  1. class Empleado {
  2.     protected int id = 0;
  3.     protected Categoria = null;
  4.  
  5.     public Empleado(){}
  6.    
  7.     public int getId(){
  8.         return this->id;
  9.     }
  10.     public int getCategoria(){
  11.         return this->Categoria;
  12.     }
  13.     public void setId(int id){
  14.         this->id = id;
  15.     }
  16.     public void setCategoria(Categoria categoria){
  17.         this->Categoria = categoria;
  18.     }
  19. }
  20. class Categoria{
  21.     protected int id = 0;
  22.     protected String name = "";
  23.  
  24.     public funcion Categoria(){}
  25.  
  26.     public int getId(){
  27.         return this->id;
  28.     }
  29.     public void setId(int id){
  30.         this->id = id;
  31.     }
  32.     public String getName(){
  33.         return this->name;
  34.     }
  35.     public void setName(String name){
  36.         this->name = name;
  37.     }
  38. }

ME GUSTARIA SABER SI ESTO ESTA BIEN, GRACIAS
  #2 (permalink)  
Antiguo 13/05/2012, 12:00
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años
Puntos: 28
Respuesta: objeto como atributo de una clase

en la Class Empleado, tienes protected Categoria = null; deberia ser
protected Categoria objeto, y el constructor lo inicializas en null u otra cosa..
alex
  #3 (permalink)  
Antiguo 13/05/2012, 12:16
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: objeto como atributo de una clase

Cita:
Iniciado por cronopiomx Ver Mensaje
en la Class Empleado, tienes protected Categoria = null; deberia ser
protected Categoria objeto, y el constructor lo inicializas en null u otra cosa..
alex
es verdad se me paso. pero me pusiste la duda en el constructor, yo lo haria asi
Código Javascript:
Ver original
  1. class Empleado {
  2.     protected int id = 0;
  3.     protected Categoria categoria = null;
  4.  
  5.     public Empleado(){}
  6.     public Empleado(int id,Categoria categoria ){
  7.         this.id = id;
  8.         this.categoria = categoria;
  9.         //SI SETEO CATEGORIA COMO NULL ENTONCES SOLO CON SETCATEGORIA
  10.         //POSRIA ASIGNARLE UN VALOR  A CATEGORIA.
  11.         //¿ESTA MAL QUE EL ATRIBUTO CATEGORIA SE INICIALICE CON NULL?
  12.     }
  13.        
  14.     public int getId(){
  15.         return this->id;
  16.     }
  17.     public int getCategoria(){
  18.         return this->Categoria;
  19.     }
  20.     public void setId(int id){
  21.         this->id = id;
  22.     }
  23.     public void setCategoria(Categoria categoria){
  24.         this->Categoria = categoria;
  25.     }
  26. }
  #4 (permalink)  
Antiguo 13/05/2012, 12:57
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años
Puntos: 28
Respuesta: objeto como atributo de una clase

pienso que sin asignarle null en los atributos, ella sola se pone en null, ahora cuando construyes el objeto entonces cambia de valor!!!, de todas formas puedes hacerlo no debe dar errores, lo que como es POO pienso que deberias inicializarlo cuando te haga falta.

alex
  #5 (permalink)  
Antiguo 13/05/2012, 13:05
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: objeto como atributo de una clase

Cita:
Iniciado por cronopiomx Ver Mensaje
pienso que sin asignarle null en los atributos, ella sola se pone en null, ahora cuando construyes el objeto entonces cambia de valor!!!, de todas formas puedes hacerlo no debe dar errores, lo que como es POO pienso que deberias inicializarlo cuando te haga falta.

alex
podria ser algo asi:
public Empleado(int id = 0, Categoria categoria = null){
this.id = id;
this.categoria = categoria;
//SI SETEO CATEGORIA COMO NULL ENTONCES SOLO CON SETCATEGORIA
//POSRIA ASIGNARLE UN VALOR A CATEGORIA.
//¿ESTA MAL QUE EL ATRIBUTO CATEGORIA SE INICIALICE CON NULL?
}

y
protected Categoria categoria = null;
lo dejaria asi para que cualquiera que vea el codigo sepa de antemano que ya es null, aunque sea optativo esta bueno declarar que valor que valor es el inicial.
  #6 (permalink)  
Antiguo 13/05/2012, 13:13
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 12 años
Puntos: 28
Respuesta: objeto como atributo de una clase

yo haria 2 constructores 1 nulo (el de abajo) ya que quieres inicializar las dos variables y otro constructor por parametros para cuando vallas a construir el objeto le pases los datos por parametro y despues los iguales..
public Empleado()
{
this.id =0;
this.categoria = null;
}
public Empleado(int id, Categoria cat)
{
this.id =id;
this.categoria = cat;
}
  #7 (permalink)  
Antiguo 15/05/2012, 06:53
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: objeto como atributo de una clase

ok gracias

Etiquetas: clase, jsp, objeto, string, atributos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.