Java - Casting descendente ayuda

   
Vista:

Casting descendente ayuda

Publicado por Antonia (1 intervención) el 06/02/2011 20:19:00
Hola! tengo un problema con el casting descendiente en java quiero hacer una prueba pero al hacerla no me salen los métodos de la subclase aunque haga el casting
Hago lo siguiente
La superclase es VEHICULO y la subclase Coche, en vehiculo solo tengo de atributo la velocidad y en coche a parte de lo qeu heredo tengo tambien gasolina con sus métodos eetc..

Coche coche= new Coche(150,100);
Vehiculo v;

v = coche; // Esto si se permite un coche es un vehiculo.

Si aqui hago " v. " no aparecen para nada los metodos ni atributos del coche y eso que le he asignado una referencia de un coche solo aparecen los de v

En cambio cuando hago

Coche c1= (Coche)v;
c1.getGasolina();

ESto si funcioina pero claro porque no puedo hacer v.getGasolina si l ehe hecho un casting ?? he probado de mil maneras incluso inicializando un vehiculo como un coche y no hay manera de que me salgan los atributos ni los metodos.

Agradeceria mucho una respuesta!!!
Grarcias un saludo!!!
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:Casting descendente ayuda

Publicado por anonimouse (11 intervenciones) el 07/02/2011 16:25:24
Hola Antonia, ahi lo que tienes en un problema de interpretacion del polimorfismo, lea bien la teoria de objetos y ahi encontrara la respuesta.

Ahh!!!! una forma con la que puede ver todos los atributos de los objetos haciendo una instancia asi

Vehiculo v = new Coche();

es con algo llamado refleccion o reflection

aqui encontre una pequeña muestra

http://www.java-tips.org/java-se-tips/java.lang.reflect/how-to-use-reflection-in-java.html

Suerte!
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