2.
El Polimorfismo es la respuesta distinta frente a una
llamada a un método dependiendo de la naturaleza
del objeto.
Consiste en definir métodos distintos, que comparten el
mismo nombre, pero que se aplican a clases diferentes.
Por ejemplo, un método llamado operación puede responder
de manera distinta dependiendo de quien lo invoque:
Polimorfismo
3.
Así como la herencia está relacionada
con las clases y la jerarquía, el
polimorfismo está relacionado con los
métodos
RELACIÓN
4.
5. Poli = muchas Morfismo = formas
Ocupan el mismo nombre del método en distintas
clases.
Reutilizar el código.
Solo se trabaja con métodos no variables.
Para que se de polimorfismo tiene que haber
herencia.
Se diferencia por su numero de parámetros y su
orden.
Si el método de la subclase necesita invocar al
método de la superclase se utiliza la palabra
reservada super.
Public tipo m1(par1,par2,…,parn){
super.m1(…);
Principales Características
7.
Polimorfismo es la posibilidad de que
un método tenga el mismo nombre y
produzca el mismo efecto básico pero
esté implementado de forma distinta en
las subclases
En Resumen
8.
Existen básicamente 3 formas de polimorfismo:
SOBRECARGA .- La sobrecarga de métodos es dentro de una
misma clase definir que un mismo método ejecute distintas
instrucciones dependiendo los parámetros que se le pasen.
SOBREESCRITURA.- Se aplica a los métodos y está
directamente relacionada a la herencia; se refiere a la
redefinición de los métodos de la clase base en las subclases.
ENLACE DINAMICO.- Esto permite invocar operaciones en
objetos obviando el tipo actual de éstos hasta el momento de
ejecutar el código, es decir nos permite definir elementos como
un tipo e instanciarlos como un tipo heredado.
Clasificación:
9. class poli{
public void metodo(){
System.out.println ("nProgramacion II");
}
}
class operador extends poli{
//
}
class compilar extends poli{
public void metodo(){
System.out.println ("nElectronica");
}
}
class Ej_pol {
public static void main(String[] args) {
compilar obj=new compilar();
obj.metodo();
operador obj2=new operador();
obj2.metodo();
}}