Clases Abstractas y Planos
Desliza para mostrar el menú
Clases Base Abstractas (ABCs) como herramienta avanzada en Python para el diseño de sistemas orientados a objetos flexibles y robustos. Facilitan la creación de código mantenible mediante la definición de 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 como clase base abstracta. Define un método obligatorio, pay, que cada tipo de pago debe implementar. CreditCard y PayPal como 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