¿Qué significa polimorfismo?
El polimorfismo es un concepto de programación orientada a objetos (POO ) que se refiere a la capacidad de una variable, función u objeto de adoptar múltiples formas.
Un lenguaje que presenta polimorfismo permite a los desarrolladores acceder a objetos de distintos tipos a través de la misma interfaz.
Un uso común del polimorfismo en la programación orientada a objetos es cuando se utiliza una referencia a una clase padre para referirse a un objeto de una clase hija.
Definición de polimorfismo
En un lenguaje de programación que presenta polimorfismo, los objetos de clases que pertenecen al mismo árbol jerárquico (heredados de una clase base común) pueden poseer funciones con el mismo nombre, pero cada una puede tener comportamientos diferentes.
Por ejemplo, supón que existe una clase base llamada Animales de la que derivan las subclases Caballo, Pez y Pájaro. Supón también que la clase Animales tiene una función llamada Mover, que heredan todas las subclases mencionadas.
Con el polimorfismo, cada subclase puede tener su propia forma de implementar la función. Así, por ejemplo, cuando se llama a la función Mover en un objeto de la clase Caballo, la función podría responder mostrando un trote en la pantalla.
En cambio, si se llama a la misma función en un objeto de la clase Pez, podría aparecer nadando en la pantalla. En el caso de un objeto Pájaro, podría estar volando.
En efecto, el polimorfismo reduce el trabajo del desarrollador porque puede crear una clase general con todos los atributos y comportamientos que prevea para ella. Cuando llegue el momento de crear subclases más específicas con atributos y comportamientos únicos, basta con modificar el código en las partes específicas en las que los comportamientos difieren. El resto del código puede dejarse como está.