Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Abstracte Klassen en Blauwdrukken | Overerving
Objectgeoriënteerd Programmeren in Python

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

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

Note
Opmerking

De functie process_payment werkt met elke betaalmethode omdat deze vertrouwt op het gedeelde abstracte contract, niet op specifieke klassen.

question mark

Wat is het belangrijkste verschil tussen een abstracte klasse en een concrete klasse?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 2. Hoofdstuk 6
some-alt