Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Classes Abstraites et Plans | Section
Programmation Orientée Objet en Python

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

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

Note
Remarque

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.

question mark

Quelle est la principale différence entre une classe abstraite et une classe concrète ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 13

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 13
some-alt