Polimorfismo
El polimorfismo se refiere a la capacidad de objetos de diferentes clases para responder a un mismo método de maneras distintas. Esta capacidad permite que el mismo nombre de método se comporte de forma diferente según la clase del objeto que lo llama, promoviendo flexibilidad y reutilización del código.
Existen dos formas principales de polimorfismo en POO:
- Polimorfismo en Tiempo de Compilación (Sobrecarga): También conocido como sobrecarga de métodos, ocurre cuando existen varios métodos con el mismo nombre dentro de la misma clase, pero con diferentes tipos o cantidades de parámetros. El compilador decide qué método llamar según los parámetros que se le pasen.
- Polimorfismo en Tiempo de Ejecución (Sobreescritura): También conocido como sobrescritura de métodos, ocurre cuando una subclase redefine un método de su clase padre con una implementación distinta. En este caso, la decisión de qué método llamar se hace en tiempo de ejecución, dependiendo del tipo real del objeto.
Las ventajas del polimorfismo son:
- Flexibilidad: El polimorfismo permite que el código sea más flexible y adaptable a diferentes tipos de objetos. Por ejemplo, en un programa puedes trabajar con
Animal, pero en tiempo de ejecución los objetos específicos pueden ser de diferentes subclases comoPerrooGato. - Reutilización de Código: Permite reutilizar el código base en distintas subclases, sin necesidad de redefinir el mismo método en cada una de ellas.
- Facilidad para Agregar Nuevas Funcionalidades: Al agregar nuevas clases que heredan de una clase padre, podemos asegurarnos de que funcionen bien con el código existente sin necesidad de modificarlo.
Próximamente
Estudiaremos la sobreescritura con más detalle en la siguiente unidad.