La herencia permite crear una nueva clase a partir de otra ya existente, heredando automáticamente todos sus atributos y métodos. La clase que hereda se llama "clase hija", y la original "clase padre". Esto evita duplicar código cuando varias clases comparten comportamiento común.
Además, la clase hija puede sobreescribir cualquier método heredado para darle un comportamiento distinto, una técnica conocida como polimorfismo. Este concepto es la base de frameworks tan populares como Django, donde casi todo se construye a partir de clases que heredan funcionalidad predefinida.
Código de ejemplo:
class Animal:
def __init__(self, nombre):
self.nombre = nombre
def hablar(self):
return "..."
class Perro(Animal):
def hablar(self):
return f"{self.nombre} dice: ¡Guau!"
class Gato(Animal):
def hablar(self):
return f"{self.nombre} dice: ¡Miau!"
rex = Perro("Rex")
print(rex.hablar()) # Rex dice: ¡Guau!
.png)

.png)