Está en la página 1de 1

Definición: El polimorfismo es la capacidad que tienen ciertos lenguajes para hacer

que, al enviar el mismo mensaje desde distintos objetos. De tal manera que una
referencia a una clase (atributo, parámetro o declaración local o elemento de un
vector) acepta direcciones de objetos de dicha clase y de sus clases derivadas.
El polimorfismo consiste en conseguir que un objeto de una clase se comporte como un
objeto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos
de dicha clase o subclases. Una forma de conseguir objetos polimórficos es mediante el
uso de punteros a la superclase. De esta forma podemos tener dentro de una misma
estructura objetos de distintas subclases, haciendo que el tipo base de dichas estructuras
sea un puntero a la superclase.

El polimorfismo suele considerarse el tercer pilar de la programación orientada a


objetos, después de la encapsulación y la herencia. Polimorfismo es una palabra
griega que significa "con muchas formas" y tiene dos aspectos diferentes:
En tiempo de ejecución, los objetos de una clase derivada pueden ser tratados
como objetos de una clase base en lugares como parámetros de métodos y
colecciones o matrices. Cuando se produce este polimorfismo, el tipo declarado
del objeto ya no es idéntico a su tipo en tiempo de ejecución.
Las clases base pueden definir e implementar métodos virtuales, y las clases
derivadas pueden invalidarlos, lo que significa que pueden proporcionar su propia
definición e implementación. En el código fuente puede llamar a un método en una
clase base y hacer que se ejecute una versión del método de la clase derivada.
Los métodos virtuales permiten trabajar con grupos de objetos relacionados de
manera uniforme.
Clasificación
Se puede clasificar el polimorfismo en dos grandes clases:
• Polimorfismo dinámico (o polimorfismo paramétrico) es aquél en el que el código
no incluye ningún tipo de especificación sobre el tipo de datos sobre el que se
trabaja. Así, puede ser utilizado a todo tipo de datos compatible.
El polimorfismo dinámico unido a la herencia es lo que en ocasiones se conoce
como programación genérica.
• Polimorfismo estático (o polimorfismo ad hoc) es aquél en el que los tipos a los
que se aplica el polimorfismo deben ser explicitados y declarados uno por uno
antes de poder ser utilizados.

También podría gustarte