clases heredadas

Iniciado por Pirat3net, 6 Diciembre 2011, 22:36 PM

0 Miembros y 1 Visitante están viendo este tema.

Pirat3net

el problema es que tengo una clase que hereda de otra clase(no abstracta)
el tema es que necesito que alguno de los metodos de la superclase se comporten de manera distinta en la clase heredada.
si no recuerdo mal si los metodos de la superclase eran abstractos, se podian modificar en la subclase, pero si no es asi, se puede? o debo crear metodos distintos en la subclass?

madpitbull_99

¿Y no has intentado reescribir esos métodos en la clase hijo?

Si he entendido bien el problema, deberías poder reescribirlos y/o usar la sobrecarga de métodos.





«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

KaL3o

Si la clase tiene aunq sea un metodo abstracto, entonces la clase es abstracta y no se pueden instanciar objetos de esa clase.

Cuando se tiene una clase abstracta, los metodos abstractos se deben definir en la clase derivada (se deben definir por obligacion)

Ahora en tu caso, simplemente como no estas usando clases abstractas, cada vez que utilizas la herencia puedes redefinir el metodo (no es necesario hacer uso de polimorfismo -osea no es necesario hacer uso de sobrecarga de metodos-) En caso que no redefinas el metodo entonces se utilizara el metodo de la superclase.

Salu2 ;)
Todos los caminos se vuelven a juntar. Pero nunca de la misma forma.

sapito169

#3
si pero jamas lo hagas eso es una de las peores "feture" de java  >:( cuando pasa eso inmediatamente deduce que el disño es muy malo

simplemente en la clase hija buelve a implementar la funcionalidad asi

class canino{
void rueda(){
//canino salvaje no obedece
ataca();
personamuere();
}
}

class pekines extends canino{

void rueda(){
ruedafelis();
seorinaenlaofombra();
}
}

ademas es recomendable que utilises la anotacion override asi


class pekines extends canino{

@override
void rueda(){
ruedafelis();
seorinaenlaofombra();
}
}


esa es la forma como trabajan casi todos (en realidad que usen poo es un milagro)

porfavor no lo agas la mayoria programan horrible cuando tengas clases parecidas que implementan los mismos metodos de formas diferentes creas una interfase con el metodo en comun luego haces que tus clases concretas implementen ese metodo yo voy aun mucho mas lejos e implemento una solucion mas "a la fuersa bruta" creo la interface luego una implementacion de una clase abstracta paraponer todos los metodos comunes a todas las implementaciones concretas y despues creo todas las implementacion heredando de la clase abstracta  :xD

y porfavor dinos los nombres de las clases es cuestion de vida o muerte todo puede fracasar horriblemente si lo haces mal (aunque no lo paresca) el diseño no tiene mucho que ver con complicados algritmos tiene que ver con la comunicacion y el lenguaje





Pirat3net

THX me resolvieron los ejemplos.el tema es que hacia time que no cojo java y estaba liado con que podia y no podia hacer, me podria haber pegado mucho tiempo probando xD;
thx