Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Introduction to Composition | Komposition
Objektorientierte Programmierung in Python

bookIntroduction to Composition

Swipe um das Menü anzuzeigen

Komposition stellt eine Has-a-Beziehung dar, bei der eine Klasse eine Instanz einer anderen Klasse enthält, anstatt von ihr zu erben. Zum Beispiel: Ein Auto hat einen Motor. Dies unterscheidet sich von der Vererbung, die eine Is-a-Beziehung modelliert, wie zum Beispiel: Ein Lkw ist ein Fahrzeug.

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 erbt nicht von Engine. Stattdessen enthält es ein Engine-Objekt und verwendet dieses, um seine Aufgaben auszuführen. Dies zeigt eine Has-a-Beziehung, nicht Is-a, wodurch das Design flexibler und später leichter anpassbar wird.

Note
Hinweis

Komposition sollte verwendet werden, wenn flexible Bestandteile, klare Abgrenzungen und Austauschbarkeit des Verhaltens zur Laufzeit erforderlich sind. Vererbung bevorzugen, wenn eine echte Ist-ein-Hierarchie offensichtlich und stabil ist.

question mark

Was ist der Hauptvorteil der Verwendung von Komposition?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 1

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 3. Kapitel 1
some-alt