Java: herencia nivel básico

Ulmo

Buenas, tarde o temprano tenia q llegar el momento en que me obligaran a meterle mano a algo en Java y abandonar mi preciado c++, he googleado bastante y no he conseguido resolver un problema con una herencia que me esta martirizando, pongo en contexto.

Si tengo algo tal q asi:

Class1 {
Object atributo1 ;
.....
funcion1(){
......
aux = this.atributo1;
......
}
.....
}

Class2 extends Class1 {
TipoX atributo1;
.....
funcion2(){
.....
funcion1();
.....
}
.....
}

¿ Como demonios hago para q si creo un objeto del tipo Class2 y llamo a la funcion funcion2, al heredar la funcion funcion1 la llamada al atributo sea el de la subclase y no el de la superclase ? Pensaba q al redefinirlo en la subclase se reescribiria, pero no, pese a heredar la funcion1 y usarla desde un objeto Class2 sigue intentando acceder al atributo1 de la superclase q logicamente esta vacio.

Ademas si intento hacer la chapuza de duplicar la informacion, me dice q el TipoX no puede ser convertido a Object (pese a q en java se supone q todo es subclase de Object).....

Logicamente mi situacion es algo más compleja, pero se resume en esa especie de pseudocodigo q he puesto arriba.

Ulmo

Bueno vuelvo a escribir para decir q ya lo he solucionado, el problema consistia en q declaraba atributo1 de la Class1 como un Vector<Object> y luego al especificar un Vector<tipo> en la subclasse no me dejaba hacer la conversion de tipos y los consideraba como 2 diferentes.

La cuestion es q dejando el de la superclase como un Vector a secas me salta un Warning de advertencia pero la cosa funciona.

Asi q ya esta SOLVED

Usuarios habituales

  • Ulmo