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.