Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Introductie tot Compositie | Compositie
Objectgeoriënteerd Programmeren in Python

bookIntroductie tot Compositie

Veeg om het menu te tonen

Compositie vertegenwoordigt een heeft-een-relatie, waarbij een klasse een instantie van een andere klasse bevat in plaats van ervan te erven. Bijvoorbeeld, een Auto heeft een Motor. Dit verschilt van overerving, dat een is-een-relatie modelleert, zoals een Vrachtwagen is een Voertuig.

1234567891011121314151617
class Engine: def start(self): return "Engine started" class Car: def __init__(self, brand, engine): self.brand = brand self.engine = engine # Car HAS an Engine def drive(self): return f"{self.brand}: {self.engine.start()}" engine = Engine() car = Car("Toyota", engine) print(car.drive())
copy

Car erft niet van Engine. In plaats daarvan bevat het een Engine-object en gebruikt het dit om zijn taken uit te voeren. Dit toont een heeft-een relatie, geen is-een, waardoor het ontwerp flexibeler en later eenvoudiger aan te passen is.

Note
Opmerking

Samenstelling gebruiken wanneer flexibele onderdelen, duidelijke grenzen en runtime-vervanging van gedrag nodig zijn. Erfelijkheid verkiezen wanneer een echte is-a hiërarchie duidelijk en stabiel is.

question mark

Wat is het belangrijkste voordeel van het gebruik van samenstelling?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 1

Vraag AI

expand

Vraag AI

ChatGPT

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

Sectie 3. Hoofdstuk 1
some-alt