Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Classes Abstratas e Modelos | Herança
Programação Orientada a Objetos em Python

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

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

Note
Nota

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.

question mark

Qual é a principal diferença entre uma classe abstrata e uma classe concreta?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 6

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 2. Capítulo 6
some-alt