Abstracte Klassen en Blauwdrukken
Veeg om het menu te tonen
Abstracte basisklassen (ABCs) zijn een krachtig hulpmiddel in Python voor het ontwerpen van flexibele en robuuste objectgeoriënteerde systemen. Ze helpen bij het creëren van onderhoudbare code door duidelijke contracten te definiëren waaraan subklassen moeten voldoen.
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 is een abstracte basisklasse. Het definieert een verplichte methode, pay, die elk type betaling moet implementeren. CreditCard en PayPal zijn concrete subklassen. Zij bieden hun eigen versies van de pay-methode, maar volgen dezelfde interface.
De functie process_payment werkt met elke betaalmethode omdat deze vertrouwt op het gedeelde abstracte contract, niet op specifieke klassen.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.