Classes Abstraites et Plans
Glissez pour afficher le menu
Les classes de base abstraites (ABCs) sont un outil puissant en Python pour concevoir des systèmes orientés objet flexibles et robustes. Elles facilitent la création de code maintenable en définissant des contrats clairs que les sous-classes doivent respecter.
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 est une classe de base abstraite. Elle définit une méthode obligatoire, pay, que chaque type de paiement doit implémenter. CreditCard et PayPal sont des sous-classes concrètes. Elles fournissent leur propre version de la méthode pay, tout en respectant la même interface.
La fonction process_payment fonctionne avec n'importe quelle méthode de paiement car elle repose sur le contrat abstrait commun, et non sur des classes spécifiques.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion