El módulo ABC
En Python, usamos el módulo abc para definir Clases Abstractas. Una clase
abstracta no puede ser instanciada y obliga a sus subclases a implementar ciertos
métodos.
from abc import ABC, abstractmethod
class Empleado(ABC):
@abstractmethod
def calcular_salario(self):
pass
class Programador(Empleado):
def calcular_salario(self):
return 5000
¿Cuándo usarlas?
Cuando quieres definir un "contrato" o estructura común para un grupo de clases, pero no tiene sentido crear un objeto de la clase base por sí misma.