Clases abstractas y planos
Desliza para mostrar el menú
Clases Base Abstractas (ABCs) son una herramienta poderosa en Python para diseñar sistemas orientados a objetos flexibles y robustos. Ayudan a crear código mantenible al definir contratos claros que las subclases deben cumplir.
123456789101112131415161718192021222324from abc import ABC, abstractmethod class PaymentMethod(ABC): @abstractmethod def pay(self, amount): pass class CreditCard(PaymentMethod): def pay(self, amount): return f"Paid {amount} using Credit Card" class PayPal(PaymentMethod): def pay(self, amount): return f"Paid {amount} using PayPal" def process_payment(method: PaymentMethod, amount): return method.pay(amount) print(process_payment(CreditCard(), 100)) print(process_payment(PayPal(), 250))
PaymentMethod es una clase base abstracta. Define un método requerido, pay, que cada tipo de pago debe implementar. CreditCard y PayPal son subclases concretas. Proporcionan sus propias versiones del método pay, pero siguen la misma interfaz.
La función process_payment funciona con cualquier método de pago porque se basa en el contrato abstracto compartido, no en clases específicas.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla