Abstrakta Klasser och Ritningar
Svep för att visa menyn
Abstrakta basklasser (ABCs) är ett kraftfullt verktyg i Python för att utforma flexibla och robusta objektorienterade system. De bidrar till underhållbar kod genom att definiera tydliga kontrakt som underklasser måste följa.
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 är en abstrakt basklass. Den definierar en obligatorisk metod, pay, som varje betalningstyp måste implementera. CreditCard och PayPal är konkreta underklasser. De tillhandahåller egna versioner av metoden pay, men följer samma gränssnitt.
Funktionen process_payment fungerar med alla betalningsmetoder eftersom den förlitar sig på det gemensamma abstrakta kontraktet, inte på specifika klasser.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal