Polimorfismo en Programación Orientada a Objetos
¿Qué es el polimorfismo?
El polimorfismo permite que diferentes clases respondan
al mismo método, pero cada una a su manera.
Es como decir:
Es como decir:
- Un Perro hace_sonido() → "Guau"
- Un Gato hace_sonido() → "Miau"
- Un Pato hace_sonido() → "Cuac"
Ventajas del polimorfismo
El polimorfismo permite:
- Escribir código más flexible
- Reutilizar funciones que aceptan distintos tipos
- Evitar condicionales innecesarios
- Extender comportamientos sin modificar código existente
Ejemplo de polimorfismo en Python
class Animal:
def hacer_sonido(self):
return "Sonido genérico"
class Perro(Animal):
def hacer_sonido(self):
return "Guau!"
class Gato(Animal):
def hacer_sonido(self):
return "Miau!"
# Función que usa polimorfismo
def reproducir_sonido(animal):
print(animal.hacer_sonido())
reproducir_sonido(Perro()) # Guau!
reproducir_sonido(Gato()) # Miau!