Polimorfismo

Páginas: 5 (1188 palabras) Publicado: 17 de diciembre de 2012
4. POLIMORFISMO
En programación orientada a objetos se denomina polimorfismo a la capacidad que tienen los
objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados
durante su invocación. Un objeto polimórfico es una entidad que puede contener valores de
diferentes tipos durante la ejecución del programa.
Dicho de otra forma, el polimorfismo consisteen 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 (arrays,
listas, pilas, colas, ...) objetos de distintas subclases,haciendo que el tipo base de dichas estructuras
sea un puntero a la superclase. Otros lenguajes nos dan la posibilidad de crear objetos polimórficos
con el operador new. La forma de utilizarlo, por ejemplo en java, sería:
Superclase sup = new (Subclase);
En la práctica esto quiere decir que un puntero a un tipo puede contener varios tipos diferentes, no
solo el creado. De esta forma podemostener un puntero a un objeto de la clase Trabajador, pero
este puntero puede estar apuntando a un objeto subclase de la anterior como podría ser Márketing,
Ventas o Recepcionistas (todas ellas deberían ser subclase de Trabajador).

El concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. Así nacen los
conceptos de funciones polimórficas y tipos polimórficos. Lasprimeras son aquellas funciones
que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos
polimórficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo
no está especificado.
Clasificación
Se puede clasificar el polimorfismo en dos grandes
clases:
• Polimorfismo dinámico (o polimorfismo paramétrico) es aquél en el queel 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.
• 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.
El polimorfismo dinámico unido a la herenciaes lo que en ocasiones se conoce como
programación genérica.
También se clasifica en herencia por redefinición de métodos abstractos y por método
sobrecargado. El segundo hace referencia al mismo método con diferentes parámetros.

Otra clasificación agrupa los polimorfismo en dos tipos: Ad-Hoc que incluye a su vez sobrecarga de
operadores y coerción, Universal (inclusión o controlado por laherencia, paramétrico o genericidad).
Polimorfismo. Métodos virtuales
El polimorfismo indica que una variable pasada o esperada puede adoptar m últiples formas.
Cuando se habla de polimorfismo en programació n orientada a objetos se suelen entender dos
cosas:
1. La primera se refiere a que se puede trabajar con un objeto de una clase sin importar de qué
clase se trata. Es decir, se trabajaráigual sea cual sea la clase a la que pertenece el objeto. Esto
se consigue mediante jerarqu ías de clases y clases abstractas.
2. La segunda suele referirse a la posibilidad de declarar m étodos con el mismo nombre que
pueden tener diferentes argumentos dentro de una misma clase.
La capacidad de un programa de trabajar con más de un tipo de objeto se conoce con el nombre
de polimorfismoHasta ahora la herencia se ha utilizado solamente para heredar los miembros de una clase base,
pero también existe la posibilidad de que un mé todo de una clase derivada se llame como
método de la clase base pero tenga un funcionamiento diferente.
Por ejemplo, tomemos la clase disco_musica que hereda de la clase base disco:

class disco{
protected:
int capacidad;
char * fabricante; int...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Polimorfismo
  • Polimorfismo
  • Polimorfismo
  • Polimorfismos
  • Polimorfismo
  • Polimorfismos
  • Polimorfismo
  • Polimorfismo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS