¿Qué es el polimorfismo?
El polimorfismo es un concepto de la programación orientada a objetos que permite a un objeto comportarse de diferentes maneras. Esto se logra mediante la creación de una jerarquía de clases en la que una clase base define un comportamiento común y las clases derivadas pueden sobrescribir dicho comportamiento.
Tipos de polimorfismo
Existen dos tipos de polimorfismo en Java:
Polimorfismo de inclusión: Se refiere a la capacidad de un objeto de una clase derivada de ser tratado como un objeto de la clase base. Esto se logra mediante la creación de una referencia de la clase base que apunta a un objeto de la clase derivada.
Polimorfismo de sobrecarga: Se refiere a la capacidad de una clase de tener múltiples métodos con el mismo nombre pero diferentes parámetros. Esto permite a los objetos de la clase ser tratados de manera diferente según el tipo de parámetros que se les pase.
Polimorfismo de sobrescritura: Se refiere a la capacidad de una clase derivada de sobrescribir un método de la clase base. Esto permite a los objetos de la clase derivada comportarse de manera diferente al invocar el método.
Ejemplo de polimorfismo en Java
En este ejemplo, la clase Shape
define un método draw
que es sobrescrito por las clases Circle
y Square
. Al crear objetos de las clases Circle
y Square
y asignarlos a una referencia de la clase Shape
, podemos invocar el método draw
de manera polimórfica, lo que nos permite dibujar un círculo y un cuadrado de manera diferente.
El polimorfismo es una característica poderosa de la programación orientada a objetos que nos permite escribir código más flexible y reutilizable. Al entender cómo funciona el polimorfismo, podemos crear jerarquías de clases más complejas y aprovechar al máximo las ventajas de la programación orientada a objetos.