Abstrakte Klasser og Skabeloner
Stryg for at vise menuen
Abstrakte basisklasser (ABCs) er et effektivt værktøj i Python til at designe fleksible og robuste objektorienterede systemer. De hjælper med at skabe vedligeholdelig kode ved at definere klare kontrakter, som underklasser skal følge.
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 er en abstrakt basisklasse. Den definerer en påkrævet metode, pay, som hver betalingstype skal implementere. CreditCard og PayPal er konkrete underklasser. De leverer deres egne versioner af pay-metoden, men følger samme interface.
Funktionen process_payment fungerer med enhver betalingsmetode, fordi den er baseret på den fælles abstrakte kontrakt og ikke på specifikke klasser.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat