Todo sobre: Variables polimórficas

Variables polimórficas
Es la capacidad que tiene los objetos de comportarse de múltiples formas. Polimorfismo: Upcasting Únicamente tienen sentido por la existencia de la herencia. ¨El polimorfismo (o upcasting) consiste en la posibilidad de que una referencia a objetos de una clase pueda conectarse también con objetos de descendientes de ésta.

El sentido del polimorfismo es realizar una generalización, olvidar los detalles concretos de uno o varios objetos de distintas clases y buscar un punto común a todos ellos en un ancestro Se trata de algo que realiza comúnmente la mente humana durante el proceso de Razonamiento.

Las conexiones polimórficas se realizan a veces de manera implícita en el paso de argumentos a una operación.  Puede contener referencias a objetos de diferentes clases.
El polimorfismo hace posible que un usuario pueda añadir nuevas clases a una jerarquía sin modificar o recompilar el código escrito en términos de la clase base.Permite programar a nivel de clase base utilizando objetos de clases derivadas.

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.
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 herencia es 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.
En términos de programación, el polimorfismo permite que un solo nombre de clase o de método represente diferente código seleccionado mediante algún mecanismo automático.
De esta forma, puesto que un nombre puede representar diferente código, también puede representar muchos comportamientos distintos.


Un lenguaje que acepta el polimorfismo es un lenguaje polimórfico.
Un lenguaje monomórfico no acepta el polimorfismo, está restringido a un comportamiento estático, porque cada nombre está ligado en forma estática a su código.