Aggregation (HAS-A relationship) in Java

Aggregation ist ein Begriff, der verwendet wird, um eine Einwegbeziehung zwischen zwei Objekten zu bezeichnen. Zum Beispiel kann die Student-Klasse eine Referenz auf die Address-Klasse haben, aber umgekehrt ist dies nicht sinnvoll.

In Java repräsentiert Aggregation HAS-A relationship , was bedeutet, wenn eine Klasse einen Verweis auf eine andere Klasse enthält, von der bekannt ist, dass sie Aggregation hat.

Die HAS-A-Beziehung basiert eher auf der Verwendung als auf der Vererbung. Mit anderen Worten, Klasse A hat-eine Beziehung zu Klasse B , wenn Klasse A einen Verweis auf eine Instanz von Klasse B.

Lassen Sie uns dies anhand eines Beispiels verstehen und zwei Klassen Student und Address betrachten. Jeder Schüler hat eine eigene Adresse, die eine Beziehung herstellt, aber die Adresse eines Schülers macht keinen Sinn. Wir können es mit Java-Code klarer verstehen.

Hier im obigen Code können wir sehen, dass die Student-Klasse eine Beziehung zur Address-Klasse hat. Wir haben auch ein Bild gezeichnet, um die Beziehung zwischen diesen beiden Klassen zu demonstrieren..

Die Student Klasse hat eine Instanzvariable vom Typ Address. Da wir eine Variable vom Typ Address in der Klasse Student haben, kann sie die Adressreferenz ad in diesem Fall verwenden, um Methoden der Klasse Address aufzurufen.

Vorteil der Aggregation

Der Hauptvorteil der Verwendung von Aggregation besteht darin, die Wiederverwendbarkeit von Code aufrechtzuerhalten. Wenn eine Entität eine Beziehung zu einer anderen Entität hat, kann sie Code wiederverwenden, indem sie einfach darauf verweist.

Aggregationsbeispiel

Nun wollen wir es anhand eines Beispiels verstehen, hier haben wir zwei Klassen Author und Book und Book Klasse hat eine Beziehung zur Author Klasse, indem sie ihre Referenz hat. Jetzt können wir alle Eigenschaften beider Klassen abrufen.

Buchname: Java für Anfänger Buchpreis: 800———— Details zum Autor———- Auther Name: JohnAuther Alter: 42Auther Ort: USA

Nehmen wir noch ein Beispiel, um die Aggregation zu verstehen. Angenommen, wir haben einen weiteren Klassenverleger, dann kann die Book-Klasse die Details der Publisher-Klasse wiederverwenden, indem Sie einfach ihre Referenz als Author-Klasse verwendet. Lassen Sie es uns durch Java-Code verstehen.

Komposition in Java

Komposition ist eine eingeschränktere Form der Aggregation. Zusammensetzung kann als beschrieben werden, wenn eine Klasse, die eine andere Klasse einschließt, so von ihr abhängig ist, dass sie ohne die eingeschlossene Klasse nicht funktional existieren kann. Zum Beispiel kann eine Klasse Car ohne Engine nicht existieren, da sie nicht mehr funktionsfähig ist.Wenn wir die Zusammensetzung der Dinge ändern, ändern sie sich, ähnlich wie in Java-Klassen, eine Klasse, die eine andere Klasse enthält, wird als Komposition bezeichnet, wenn die enthaltene Klasse der äußeren Klasse eine kernfunktionale Bedeutung verleiht.

class Car{ private Engine engine; Car(Engine en) { engine = en; }}

Hier können wir durch die Untersuchung des Codes verstehen, dass, wenn die Fahrzeugklasse keine Beziehung zur Motorklasse hat, das Auto keine Existenz hat.

Komposition ist eine Designtechnik, keine Funktion von Java, aber wir können sie mit Java-Code erreichen.

F. Wann sollten Vererbung und Aggregation verwendet werden?

Wenn Sie eine Eigenschaft oder ein Verhalten einer Klasse verwenden möchten, ohne sie ändern oder weitere Funktionen hinzufügen zu müssen, ist in diesem Fall die Aggregation eine bessere Option, da wir im Falle der Aggregation nur eine externe Klasse innerhalb unserer Klasse als Variable verwenden.

Wenn Sie eine Eigenschaft oder ein Verhalten einer externen Klasse verwenden und ändern oder weitere Funktionen hinzufügen möchten, verwenden Sie am besten die Vererbung.

Um mehr über Vererbung zu erfahren, können Sie unser detailliertes Tutorial hier besuchen. Klicken Sie hier, um die Vererbung in Java zu sehen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.