Die Verwendung früherer Versionen zur Erstellung neuer Software unter Verwendung des Konzepts der Wiederverwendbarkeit wird in der Programmierung als wiederverwendbarer Code bezeichnet.
Key Take Away
- Komposition baut komplexe Objekte durch Kombinieren einfacherer Objekte auf, während Vererbung neue Klassen aus bestehenden erstellt.
- Die Zusammensetzung ermöglicht eine größere Flexibilität beim Modifizieren von Objekten, während die Vererbung eine starrere und hierarchischere Struktur bietet.
- Die Zusammensetzung wird der Vererbung vorgezogen, da sie die Wiederverwendung von Code fördert, die Kopplung reduziert und eine größere Abstraktion ermöglicht.
Zusammensetzung vs. Vererbung
Bei der Komposition geht es um den Aufbau komplexer Objekte aus einfacheren Objekten, was zu einer „Hat-ein“-Beziehung zwischen den Klassen führt. Durch Vererbung kann eine Klasse Eigenschaften und Methoden von einer anderen Klasse erben, wodurch eine „Ist-ein“-Beziehung hergestellt und die Wiederverwendbarkeit von Code gefördert wird.

Da es einfach ist, komplizierte Klassen zu konstruieren, indem man zuvor veröffentlichte, gut konzipierte Klassen als Komponenten verwendet, kann man ein Objekt immer als Feld innerhalb einer anderen Klasse verwenden.
In der OOP bezeichnet Vererbung den Vorgang, bei dem eine Entität die Eigenschaften einer anderen Entität annimmt. Dies ist eine der effektivsten Methoden, um die Wiederverwendung von Code in der OOP durchzusetzen.
Vergleichstabelle
Vergleichsparameter | Zusammensetzung | Erbe |
---|---|---|
Welche Bedeutung hatte der Wiener Kongress? | Wir deklarieren einfach einen Typ, den wir in der Komposition verwenden möchten, und er kann mehrere Implementierungen speichern, die zur Laufzeit variieren können. | Wir definieren die Klasse, die wir übernehmen (Superklasse), in der Vererbung, und sie kann bei der Ausführung nicht geändert werden. |
Klasse Kombinieren | Die Möglichkeit, Funktionen aus unterschiedlichen Klassen zu kombinieren, wird durch Komposition bereitgestellt. | Wir können in diesem Fall nur eine Klasse verlängern; Mit anderen Worten, viele Klassen können nicht erweitert werden, da Java keine Mehrfachvererbung ermöglicht. |
Funktionalität | Die Komposition ermöglicht es uns, die Funktionalität der von uns verwendeten Klassen zu testen, ohne uns Gedanken darüber machen zu müssen, ob es sich um übergeordnete oder untergeordnete Klassen handelt. | Die Vererbung erfordert die Verwendung einer Elternklasse, um eine Kindklasse zu testen. |
Codewiederverwendung | Sogar Code aus finalen Klassen kann dank Komposition wiederverwendet werden. | Die letzte Klasse kann nicht durch Vererbung erweitert werden. |
Beziehung | Es ist eine „hat-ein“-Situation. | Es ist eine „Ist-ein“-Situation. |
Was ist Komposition?
Eine Komposition ist eine Form der Aggregation, bei der Eigentum impliziert ist. Es besteht eine Abhängigkeit, weil ein Objekt von einem anderen abhängig ist. Betrachten Sie die folgenden Objekte: ein Schulobjekt und ein Klassenzimmerobjekt.
Wenn irgendwie die Eigenschaften eines Objekts in die Eigenschaften eines anderen integriert werden müssen, erfordert die Beziehung eine Komposition.
Komposition wird als die Verwendung eines Objekts innerhalb eines anderen Objekts beschrieben. Eine Entität könnte regelmäßig als Feld in jeder Klasse verwendet werden. In der Komposition verwenden sie eine Entität, die Teil einer Klasse ist.

Was ist Vererbung?
Vererbung ist, wenn eine neue Klasse die Attribute und Methoden einer bestehenden Klasse verwendet. Diese bereits vorhandene Klasse wird als Elternklasse, Oberklasse oder Grundklasse bezeichnet.
Wenn wir eine neue Klasse erstellen möchten, es aber anscheinend eine mit dem Code gibt, den wir benötigen, können wir unsere neue Klasse aus der aktuellen extrahieren.

Hauptunterschiede zwischen Zusammensetzung und Vererbung
- Sogar Code aus finalen Klassen kann dank der Komposition wiederverwendet werden, während die finale Klasse nicht durch Vererbung erweitert werden kann.
- Zusammensetzung ist eine „Has-ein“-Situation, während Vererbung eine „Ist-ein“-Situation ist.