Beruflich Dokumente
Kultur Dokumente
unto de mensajes.
Un ejemplo. Podemos crear dos clases distintas: Pez y Ave que heredan de la supe
rclaseAnimal. La clase Animal tiene el mtodo abstracto mover que se implementa de
forma distinta en cada una de las subclases (peces y aves se mueven de forma di
stinta). Entonces, un tercer objeto puede enviar el mensaje mover a un grupo de
objetos Pezy Ave por medio de una variable de referencia de clase Animal, hacien
do as un uso polimrfico de dichos objetos respecto del mensaje mover.
El concepto de polimorfismo, desde una perspectiva ms general, se puede aplicar t
anto a funciones como a tipos de datos. As nacen los conceptos de funciones polimr
ficas y tipos polimrficos. Las primeras son aquellas funciones que pueden evaluar
se o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos po
limrficos, por su parte, son aquellos tipos de datos que contienen al menos un el
emento cuyo tipo no est especificado.
Clasificacin
Se puede clasificar el polimorfismo en dos grandes clases:
Polimorfismo dinmico (o polimorfismo paramtrico) es aqul en el que el cdigo no i
ncluye ningn tipo de especificacin sobre el tipo de datos sobre el que se trabaja.
As, puede ser utilizado a todo tipo de datos compatible.
Polimorfismo esttico (o polimorfismo ad hoc) es aqul en el que los tipos a los
que se aplica el polimorfismo deben ser explcitos y declarados uno por uno antes
de poder ser utilizados.
El polimorfismo dinmico unido a la herencia es lo que en ocasiones se conoce como
programacin genrica.
Tambin se clasifica en herencia por redefinicin de mtodos abstractos y por mtodo sob
recargado. El segundo hace referencia al mismo mtodo con diferentes parmetros.
Otra clasificacin agrupa los polimorfismo en dos tipos: Ad-Hoc que incluye a su v
ez sobrecarga de operadores y coercin, Universal (inclusin o controlado por la her
encia, paramtrico o genericidad).