Classes Abstraites et Plans
Glissez pour afficher le menu
Classes de base abstraites (ABCs), outil puissant en Python pour la conception de systèmes orientés objet flexibles et robustes. Contribution à la création de code maintenable par la définition de 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, classe de base abstraite. Définition d'une méthode obligatoire, pay, que chaque type de paiement doit implémenter. CreditCard et PayPal, sous-classes concrètes. Fourniture de leurs propres versions 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