Você está na página 1de 16

POLIMORFISMO

EQUIPO 1
DEFINICIÓN

 Es la capacidad de un objeto Es una relación de tipo


de adquirir varias formas. El uso herencia, un objeto de la
más común de polimorfismo en superclase puede almacenar
programación orientada a un objeto de cualquiera de sus
objetos se da cuando se utiliza subclases.
la referencia de una clase
padre, para referirse al objeto
de la clase hijo.
DIAGRAMA UML

PERSONAS

EMPLEADO

SECRETARIA INGENIERO GERENTE


POLIMORFISMO EN LENGUAJE JAVA

 Variable polimórfica: es una variable que contiene un objeto y se


refiere al hecho de que una misma variable puede contener objetos
de diferentes tipos del tipo declarado o de cualquier subtipo del tipo
declarado.

 Métodospolimórficos: el método llamado depende del tipo de objeto


dinámico
PERSONA
+ habla ()

EMPLEADO
+ habla ()

SECRETARIA INGENIERO GERENTE


+ habla () + habla () + habla ()
Persona p = new Persona ();

p = new Empleado (); Variable polimórfica

p.habla ();

p = new Secretaria ();


p.habla (); Método polimórfico
SOBRECARGA

 Losmétodos se distinguen por su signatura y la signatura esta


formada tanto por el nombre como por el numero y tipo de los
argumentos que recibe el método.

 La
sobrecarga permite seleccionar el método adecuado, esta no
implica herencia a comparación de la sobrescritura.
EJEMPLO:

public static int max ( int a, int b );


public static long max ( long a, long b );
public static float max ( float a, float b );
public static double max ( double a, double b );

 Todos los métodos max son ejemplos de sobrecarga. Se puede observar


que los métodos max sólo difieren en el tipo de parámetros.
 La sobrecarga es útil cuando un método no está definido por sus
argumentos. Es decir, un método es un concepto independiente de sus
argumentos.
 Dar diferentes nombres a cada método no es polimórfico. Cuando todos los
métodos comparten el mismo nombre, se obtiene comportamiento
polimórfico pues distintos métodos son llamados de acuerdo con los tipos de
parámetros que se pasan.
POLIMORFISMO DINÁMICO
 En cualquier lenguaje de programación orientado a objetos, Anulación o Overriding es
una característica que permite que una subclase o clase secundaria proporcione una
implementación específica de un método que ya está provisto por una de sus
superclases o clases principales. Cuando un método en una subclase tiene el mismo
nombre, los mismos parámetros o firma y el mismo tipo de devolución (o subtipo) que un
método en su superclase, se dice que el método de la subclase anula el método en la
superclase.
MÉTODOS ABSTRACTOS
Una clase abstracta no se puede instanciar pero si se puede heredar y las clases
hijas serán las encargadas de agregar la funcionalidad a los métodos abstractos.
En cuanto a sus métodos no tiene implementación.
Se utilizan cuando deseamos definir una abstracción que englobe objetos de
distintos tipos y queremos hacer uso del polimorfismo.
Una clase que declara la existencia de métodos pero no la implementación de
dichos métodos (o sea, las llaves { } y las sentencias entre ellas), se considera una
clase abstracta.
INTERFACE

Una Interface es una clase abstracta pura en la que todos sus métodos son abstractos y
por tanto no se pueden implementar en la clase Interface, , las Interfaces sirven para
establecer la forma que debe de tener una clase.
En una Interface no se pueden definir atributos salvo que estos sean estáticos o constantes;
es decir, "static" o "final".
Java proporciona dos palabras reservadas para trabajar con interfaces: interface e implements.
Para declarar una interfaz se utiliza:

modificador_acceso interface NombreInterfaz { .... }

modificador_acceso puede ser una clase de objetos que nos permite utilizar herencia en abstracción constante en las
clases en las que se implemente.

Para implementarla en una clase, se utiliza la forma:

modificador_acceso class NombreClase implements NombreInterfaz1 [, NombreInterfaz2]

Una clase puede implementar varias interfaces de los paquetes que se han importado dentro del programa, separando
los nombres por comas.
EJEMPLO DE INTERFACES

Você também pode gostar