Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Abstract Classes and Blueprints | Vererbung
Objektorientierte Programmierung in Python

Abstract Classes and Blueprints

Swipe um das Menü anzuzeigen

Abstract Base Classes (ABCs) are a powerful tool in Python for designing flexible and robust object-oriented systems. They help create maintainable code by defining clear contracts that subclasses must follow.

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

PaymentMethod is an abstract base class. It defines a required method, pay, that every payment type must implement. CreditCard and PayPal are concrete subclasses. They provide their own versions of the pay method, but follow the same interface.

Note
Note

The function process_payment works with any payment method because it relies on the shared abstract contract, not on specific classes.

question mark

What is the key difference between an abstract class and a concrete class?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 6

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 2. Kapitel 6
some-alt