Interfaces

Contratos de comportamiento.

Interfaces en Python

Aunque Python no tiene una palabra clave interface como Java, usamos Clases Abstractas con solo métodos abstractos para simular este comportamiento.

from abc import ABC, abstractmethod

class Volador(ABC):
    @abstractmethod
    def volar(self):
        pass

class Avion(Volador):
    def volar(self):
        return "Despegando motores..."

Importancia

Las interfaces permiten desacoplar el código: una función puede trabajar con cualquier objeto que "implemente la interfaz" sin importar su tipo real.