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

Clase contenedora

Estas en el tema de Clase contenedora en el foro de Java en Foros del Web. Hola, tengo una pregunta, debo implementar una clase contenedora ,tengo definido unas clases con herencia a parte, y otra clase debe de contener una lista ...
  #1 (permalink)  
Antiguo 23/02/2012, 14:54
 
Fecha de Ingreso: enero-2012
Mensajes: 40
Antigüedad: 12 años, 3 meses
Puntos: 0
Clase contenedora

Hola, tengo una pregunta, debo implementar una clase contenedora ,tengo definido unas clases con herencia a parte, y otra clase debe de contener una lista de esos objetos, sería una lista de la clase padre ? o cómo? y como se meten los objetos a esa clase? gracias!!
  #2 (permalink)  
Antiguo 24/02/2012, 03:55
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Clase contenedora

Si vas a guardar en la lista objetos de distintas clases pero que todas ellan son subclases de otra, entonces es conveniente que utilices la clase base como el tipo de dato a guardar.

Código Java:
Ver original
  1. LinkedList<ClaseGeneral> lista = new LinkedList<ClaseGeneral>();
  2. ClaseHija1 objeto1 = new ClaseHija1(); //Este objeto es de la clase ClaseHija1, que supongo que hereda de la clase ClaseGeneral
  3. ClaseHija2 objeto2 = new ClaseHija2(); //Este objeto es de la clase ClaseHija2, que supongo que hereda de la clase ClaseGeneral
  4. ClaseGeneral objeto3 = new ClaseHija3();//Este objeto es de la clase ClaseHija2, que supongo que hereda de la clase ClaseGeneral. Fíjate que puedes asignar un objeto de la subclase ClaseHija3 a una referencia de la clase base, esto es porque un objeto de la clase ClaseHija3  "es" un objeto de la clase ClaseGeneral
  5. lista.Add(objeto1);
  6. lista.Add(objeto2);
  7. lista.Add(objeto3);

Etiquetas: clase
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 12:37.