[ Foro de Java ]

Para aplicar polimorfismo es necesario que haya redefinición de métodos en las subclases o puede aplicarse cuando el método simplemente lo heredas las subclases

26-Mar-2021 13:23
Invitado (DUDA SOBRE POLIMORFISMO)
0 Respuestas

package polimorfismo1;
public class Persona {
protected int antiguedad;
public Persona(int antiguedad) {
this.antiguedad=antiguedad;
}
public void saberTrienios() {
System.out.println("Trienios: "+antiguedad/3);
}
}
package polimorfismo1;
public class Hombre extends Persona {
public Hombre(int antiguedad) {
super(antiguedad);
}
}
package polimorfismo1;
public class Mujer extends Persona {
public Mujer(int antiguedad) {
super(antiguedad);
}
}
package polimorfismo1;
public class Gestion {
public void visualizar(Persona p) {
p.saberTrienios();
}
}
package polimorfismo1;
public class Principal {
public Principal() {
Gestion obj=new Gestion();
Hombre pepe=new Hombre(13);
Mujer juana=new Mujer(16);
obj.visualizar(pepe);
obj.visualizar(juana);
}
public static void main(String[] args) {
Principal interfaz=new Principal();
}
}
¿Se considera que en el método visualizar(Persona p) de la clase Gestion, se está aplicando polimorfismo aunque  el método saberTrienios()  al que invoca, sea un método heredado en las subclases en lugar de estar redefinido?
¿Es una condición  indispensable para aplicar polimorfismo que los métodos estén redefinidos en las subclases o pueden ser heredados simplemente?
Muchas gracias




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)