Polimorfismo
Polimorfismo
El polimorfismo es una técnica que está ligada a la
orientación a objetos, especialmente a la herencia y la jerarquía de clases.
Bueno primero vamos a tratar de definir el concepto el cual es uno de los más
complejos desde mi punto de vista de entender.
Primero vamos a ver qué quiere decir esta palabra.
Poli: Esto quiere decir mucho.
Morfismo: Esta es formas.
Teniendo estos dos conceptos con los cuales podríamos
afirmar que polimorfismo quiere decir muchas formas. ¿Pero qué quiere decir
esto realmente en la programación orientada a objetos? Bueno lo que esta
técnica nos permite es cambiar de un tipo de objeto a otro por medio de la
herencia, es decir, que podemos crear un objeto de un tipo y dependiendo de las
necesidades podemos hacer que este cambie otro tipo.
Veamos un ejemplo .
Tenemos un objeto de tipo estudiante el cual va a realizar
una serie de procesos. Podemos ver un historial del estudiante que nos
mostraría todas las calificaciones del mismo.
Pero qué pasa si queremos que ese mismo objeto ahora sea un empleado y
que historial lo que muestra es todos los pagos que se le realizaron a este
empleado.
Tendríamos que crear dos objetos diferentes para poder
hacer esto. Ahora si queremos guardar una lista de estudiantes y empleados tendríamos que crear dos
estructuras para poder almacenar estos dos tipos de objetos, pero gracias al
polimorfismo podríamos crear una sola estructura que almacene los dos tipos de
objetos.
Lo que tenemos que notar es que el método verHistorial()
que queremos desarrollar va existir en ambos objetos pero dependiendo del tipo
de objeto que deseamos llamar es como se va a comportar este método.
Para poder realizar esto debemos inicialmente definir una
clase base para las dos clases (empleado, Estudiantes), comúnmente conocida
como clase interfaz, esta clase base es la que vamos a usar para poder ejecutar
el comportamiento polimórfico es decir que desde la clase base es donde vamos a
poder definir los comportamientos de los objetos.
Tip: Esta clase base puede ser abstracta, no abstracto o
una interfaz.
Este comportamiento básicamente son los métodos que vamos
a poder ejecutar. Ahora para poder hacer que nuestros objetos funcionen de
manera polimorfa debemos definir los métodos al menos como abstractos y/o en
una interfaz.
Tip: Los métodos y variables que no se encuentren en la
clase base no van a poder ser usados de forma polimorfa.
Etiquetas: Java
0 comentarios:
Publicar un comentario
Suscribirse a Enviar comentarios [Atom]
<< Inicio