Java - Herencia en Java ¡AVANZADOI!

 
Vista:

Herencia en Java ¡AVANZADOI!

Publicado por HombredeJava (3 intervenciones) el 26/09/2006 18:48:50
Hola, buenas. Escribo porque tengo un problema con la herencia en Java:

Tengo una función que está declarada así:

public void MiFuncion(ArrayList <MiTipo>){...}

donde "MiTipo" es una clase abstracta. Mi idea es pasarle a "MiFuncion" ArrayLists de clases hijas de "MiTipo", por ejemplo.

public class Hijo extends MiTipo{.....}

public class prueba{
...
ArrayList <Hijo> AL = new ArrayList <Hijo>();
MiFuncion(AL);
...

}

Y entonces, me da error de compilación!!!---->

MiFuncion(java.util.ArrayList <MiTipo>) in prueba cannot be applied to (java.util.ArrayList <Hijo>)

¿Qué tengo que hacer? Me funciono si no especifico el tipo del ArrayList, pero pregunto por una solución más elegante.

Muchas gracias.
HombredeJava
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Herencia en Java ¡AVANZADOI!

Publicado por Himura (21 intervenciones) el 26/09/2006 23:22:17
De hecho sino pones el ArrayList, creo que sería la solución mas elegante, porque estas declarando un ArrayList que finalmente moldeas o casteas a MiTipo o a Hijo, mejor hazlo directo, esto es sin poner el ArrayList.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Herencia en Java ¡AVANZADOI!

Publicado por Tom (1831 intervenciones) el 27/09/2006 14:56:13
Utiliza interfaces, no clases abstractas.

O sea, convierte MiTipo en una interfaz.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar