Java - Problemas con "downcasting"

 
Vista:

Problemas con "downcasting"

Publicado por Fran (34 intervenciones) el 02/05/2001 20:49:26
Saludos, Recientemente he estado desarrollando una aplicación y me ha surgido el problema que paso a detallar.

En primer lugar, creo una clase

class Elemento {
int posx, posy;
String id;
}

Ahora creo unas subclases de esta

class Primero extends Elemento {
int posx, posy;
String id;
Elemento (int posx, int posy) {
this.posx = posx;
this.posy = posy;
}
}

class Segundo....

En un parte del programa voy introduciendo objetos de las diferentes subclases en una lista enlazada. Como sabemos al sacar un elemento de la lista tendremos un objeto, por tanto hago lo siguiente

ListIterator f = l.listIterator(); // l es la lista enlazada
Object o = new Object();
Elemento elto = new Elementto();
while (f.hasNext()) {
o = f.next(); // Tipo Objeto
elto = (Elemento)o; // Tipo Elemento
.....


Como se observa la variable elto debe contener un objeto del tipo Elemento. Lo que sucede es que analizando cualquiera de las variables de Elemento tienen valor 0 (las de tipo entero) ó null (la String). Analizando el programa con el debugger y pidiendo el valor de elto (el objeto) parece que está todo bien, se visualizan todos los valores que he insertado en el programa de forma correcta, pero si lo pido de forma individualizada, por ejemplo elto.posx el valor es cero.
Cualquier ayuda para resolver el problema sería de agradecer. (Perdón si me he extendido un poco)
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:Problemas con

Publicado por Xavi Canal (241 intervenciones) el 03/05/2001 11:01:05
Nas,

me parece que el problema es que declaras otra
vez las mismas variables en las subclases, no
haría falta ya que al heredar de Elemento pasan
a 'ser suyas'

att. Xavi Canal
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