Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Clases Abstractas y Planos | Sección
Programación Orientada a Objetos en Python

bookClases 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.

123456789101112131415161718192021222324
from 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))
copy

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.

Note
Nota

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.

question mark

¿Cuál es la diferencia clave entre una clase abstracta y una clase concreta?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 13

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 1. Capítulo 13
some-alt