Unterschied zwischen Aggregation und Zusammensetzung in Java

Schlüsseldifferenz - Aggregation vs Zusammensetzung in Java

Aggregation ist eine Assoziation zwischen zwei Objekten, die die Beziehung "hat-ein" beschreibt. Die Zusammensetzung ist die spezifischere Art der Aggregation, die Eigentum impliziert. Das Hauptunterschied zwischen Aggregation und Komposition in Java ist das, Wenn das enthaltene Objekt ohne das Vorhandensein des besitzenden Objekts existieren kann, ist es eine Aggregation, und wenn das enthaltene Objekt nicht ohne das Vorhandensein des besitzenden Objekts existieren kann, ist es eine Komposition.

Objektorientierte Programmierung (OOP) ist ein Paradigma der Softwareentwicklung. Es wird verwendet, um die Software anhand von Objekten zu modellieren. Die Objekte werden mit Klassen erstellt. Eine Klasse besteht aus Eigenschaften und Methoden. Software enthält mehrere Objekte. Jedes Objekt arbeitet über die Weitergabe von Nachrichten zusammen. Die Beziehung zwischen zwei Objekten wird als Assoziation bezeichnet. Aggregation und Zusammensetzung sind zwei Arten von Assoziationen. Die "has-a" -Beziehung beschreibt, dass ein Objekt ein anderes Objekt verwenden kann. Aggregation und Komposition können in OOP-unterstützenden Sprachen implementiert werden. Wenn das enthaltene Objekt ohne das Vorhandensein des Besitzobjekts existieren kann, ist die Zuordnung zwischen diesen beiden Objekten eine Aggregation. Wenn das enthaltene Objekt ohne das Vorhandensein des besitzenden Objekts nicht existieren kann, ist die Verbindung zwischen diesen beiden Objekten eine Komposition.

INHALT

1. Übersicht und Schlüsseldifferenz
2. Was ist Aggregation in Java?
3. Was ist Komposition in Java?
4. Ähnlichkeiten zwischen Aggregation und Komposition in Java
5. Side-by-Side-Vergleich - Aggregation vs. Komposition in Java in Tabellenform
6. Zusammenfassung

Was ist Aggregation in Java??

Aggregation ist eine Art Assoziation. Wenn eine Klasse über eine Entitätsreferenz verfügt, spricht man von Aggregation. Aggregation repräsentiert die Beziehung has-a. Ein Student-Objekt kann Eigenschaften wie student_id, name, address haben. Dieses Objekt kann auch ein anderes Objekt namens address mit seinen eigenen Informationen haben, z. B. Stadt, Bundesland oder Land. In dieser Situation hat der Student eine Entitätsreferenzadresse. Es ist eine Beziehung, die „hat“.

Abbildung 01: Markenklasse

Abbildung 02: Hauptprogramm zur Beschreibung der Aggregation

Gemäß dem obigen Programm bestehen die Klassenmarken aus drei Eigenschaften, nämlich Mathematik-, Englisch- und Wissenschaftsmarken. Der Student hat ein Objekt von Marken. Es hat seine eigenen Eigenschaften, die Kennzeichen von Mathematik, Englisch und Wissenschaft sind. In der Hauptmethode wird ein Objekt von Marken erstellt und Markenwerte zugewiesen. Das Schülerobjekt, das s1 ist, kann das Markenobjekt verwenden, das m1 ist. Daher haben die Schüler und Marken die Beziehung „Hat-a“. Das Marks-Objekt kann ohne das Schülerobjekt existieren. Daher handelt es sich um eine Aggregation.

Was ist Komposition in Java??

Zusammensetzung ist eine Art Assoziation. Es ist eine bestimmte Form der Aggregation, die Eigentum impliziert. Angenommen, es gibt zwei Klassen, die als Klasse A und B bezeichnet werden. Wenn das Objekt der Klasse B nicht existieren kann, wenn das Objekt der Klasse A zerstört wird, ist dies eine Komposition. Ein Buch besteht aus vielen Seiten. Wenn das Buch zerstört wird, werden auch die Seiten zerstört. Die Seitenobjekte können nicht ohne das Buchobjekt existieren. Siehe das untenstehende Programm.

Abbildung 03: Klassenzimmerklasse

Abbildung 04: Schulklasse

Abbildung 05: Hauptprogramm zur Beschreibung der Komposition

Gemäß dem obigen Programm verfügt der Klassenzimmer über zwei Eigenschaften, nämlich name und numOfStudents. Die Schule ist eine Sammlung von Klassenzimmerobjekten. In der Hauptmethode werden zwei Klassenzimmerobjekte erstellt. Diese werden zu "Klassenzimmern" hinzugefügt. Diese "Klassenzimmer" werden an das Schulobjekt übergeben. Schließlich werden der Name des Klassenzimmers und die Anzahl der Schüler gedruckt, indem die Sammlung durchlaufen wird. Wenn das School-Objekt zerstört wird, werden auch die Classroom-Objekte zerstört. Dies ist ein Kompositionsbeispiel. Es enthält auch die 'has-a'-Beziehung und impliziert auch Besitz.

Welche Beziehung besteht zwischen Aggregation und Komposition in Java??

  • Aggregation und Zusammensetzung sind zwei Arten von Assoziationen, und Zusammensetzung ist eine spezielle Art von Aggregation. Die Zusammensetzung ist eine Teilmenge der Aggregation.

Was ist der Unterschied zwischen Aggregation und Zusammensetzung in Java??

Aggregation vs. Komposition in Java

Aggregation ist eine Verbindung zwischen zwei Objekten, die die Beziehung "hat eine" beschreibt. Die Zusammensetzung ist eine spezifischere Art der Aggregation, die Eigentum impliziert.
 Verwendungszweck
Aggregation wird verwendet, wenn ein Objekt ein anderes Objekt verwendet. Komposition wird verwendet, wenn ein Objekt ein anderes Objekt besitzt.
Auswirkungen auf Objekte
In der Aggregation wirkt sich das Zerstören des besitzenden Objekts nicht auf das enthaltende Objekt aus. In der Komposition wirkt sich das Zerstören des besitzenden Objekts auf das enthaltene Objekt aus.

Zusammenfassung - Aggregation vs Zusammensetzung in Java

Aggregation und Zusammensetzung sind zwei Konzepte in OOP. Die "has-a" -Beziehung beschreibt, dass ein Objekt ein anderes Objekt verwenden kann. Aggregation ist eine Assoziation zwischen zwei Objekten, die die Beziehung "hat-ein" beschreibt. Die Zusammensetzung ist eine spezifischere Art der Aggregation, die Eigentum impliziert. Der Unterschied zwischen Aggregation und Komposition in Java besteht darin, dass, wenn das enthaltene Objekt ohne das Vorhandensein des besitzenden Objekts existieren kann, es eine Aggregation ist und wenn das enthaltene Objekt nicht ohne das Vorhandensein des besitzenden Objekts existieren kann, es eine Zusammensetzung ist.

Referenz:

1. „Assoziation, Komposition und Aggregation in Java“. GeeksforGeeks, 8. Februar 2018. Hier verfügbar 
2. "Aggregation in Java - Javatpoint". Java-Punkt. Hier verfügbar