Classes Abstratas e Modelos
Deslize para mostrar o menu
Classes Base Abstratas (ABCs) são uma ferramenta poderosa em Python para projetar sistemas orientados a objetos flexíveis e robustos. Elas ajudam a criar código de fácil manutenção ao definir contratos claros que as subclasses devem seguir.
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 é uma classe base abstrata. Ela define um método obrigatório, pay, que todo tipo de pagamento deve implementar. CreditCard e PayPal são subclasses concretas. Elas fornecem suas próprias versões do método pay, mas seguem a mesma interface.
A função process_payment funciona com qualquer método de pagamento porque depende do contrato abstrato compartilhado, e não de classes específicas.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo