Was ist der Unterschied zwischen Aggregation und Komposition?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Aggregation und Komposition ist das Aggregation ist eine Assoziation zwischen zwei Objekten, die die „hat a“-Beziehung aufweisen, während die Komposition eine spezielle Art von Aggregation ist, die das Eigentum beschreibt.

Objektorientierte Programmierung (OOP) ist ein wichtiges Paradigma in der Softwareentwicklung. Laut OOP kommunizieren die Objekte miteinander. Eine Klasse ist eine Blaupause zum Erstellen von Objekten, während eine Assoziation eine Verbindung zwischen zwei oder mehr Objekten ist. Aggregation und Komposition sind zwei Arten von Assoziationen, die die Beziehungen zwischen Objekten oder Klassen beschreiben.

Aggregation, Komposition, OOP, UML

Was ist Aggregation?

Aggregation ist eine Assoziation, die beschreibt, ob eine Beziehung zwischen Objekten besteht. Zum Beispiel sind ein Klassenzimmer und ein Schüler mit der Beziehung „hat eine“ verknüpft.

Abbildung 1: UML-Diagramm mit Aggregation

Bei Betrachtung des obigen Klassenzimmer- und Schülerszenarios hängt das Schülerobjekt nicht vom Klassenzimmerobjekt ab. Darüber hinaus wirkt sich die Zerstörung des Klassenzimmers nicht auf das Schülerobjekt aus oder zerstört es. Daher ist die Assoziation zwischen Klassenzimmer und Schüler eine Aggregation. Darüber hinaus ist Unified Modeling Language (UML) eine visuelle Modellierungssprache, die bei der Entwicklung von Softwaresystemen hilft. In UML repräsentiert das Rautensymbol die Aggregation.

Was ist Komposition?

Die Zusammensetzung ist eine besondere Art der Aggregation, die das Eigentum beschreibt. Ein Beispiel ist wie folgt.

Abbildung 2: Zusammensetzung im UML-Diagramm

Im obigen Diagramm enthält das Schulobjekt Klassenzimmerobjekte. Da das Schulobjekt Klassenzimmerobjekte enthält, handelt es sich um eine Aggregation, jedoch um eine spezielle Aggregationsart. Wenn wir das Schulobjekt zerstören, wird auch das Klassenzimmerobjekt zerstört. Daher ist es eine Komposition und impliziert Eigentum. In UML repräsentiert das hervorgehobene Rautensymbol die Komposition.

Unterschied zwischen Aggregation und Zusammensetzung

Definition

Aggregation ist eine Assoziation zwischen zwei Objekten, die die „hat a“-Beziehung beschreibt, während die Komposition die spezifischste Art der Aggregation ist, die Eigentum impliziert. Dies ist also der Hauptunterschied zwischen Aggregation und Komposition.

Funktionalität

Bei der Aggregation wirkt sich das Zerstören des besitzenden Objekts nicht auf das enthaltende Objekt aus. In der Komposition wirkt sich die Zerstörung des besitzenden Objekts jedoch auf das enthaltende Objekt aus. Daher ist dies ein weiterer Unterschied zwischen Aggregation und Komposition.

UML-Darstellung

Außerdem stellt das Rautensymbol die Aggregation in UML dar, während das hervorgehobene Rautensymbol die Zusammensetzung in UML darstellt.

Abschluss

In OOP kommunizieren die Objekte miteinander. Hier ist die Beziehung zwischen Objekten eine Assoziation. Aggregation und Komposition sind zwei Arten von Assoziationen zwischen Objekten oder Klassen. Der Unterschied zwischen Aggregation und Komposition besteht darin, dass Aggregation eine Assoziation zwischen zwei Objekten ist, die die Beziehung „hat ein“ aufweisen, während die Komposition eine spezielle Art von Aggregation ist, die das Eigentum beschreibt.

Referenz:

1. 6 5 Using Aggregation and Composition, People Career, 22. Mai 2015, hier verfügbar.

Was ist der Unterschied zwischen Aggregation und Komposition?