Aggregation in Java Definition und Beispielen

Anhäufung in Javaist eine Beziehung zwischen zwei Klassen, die am besten als "has-a" - und "whole / part" -Beziehung beschrieben wird. Es ist eine spezialisiertere Version der Assoziationsbeziehung. Die aggregierte Klasse enthält einen Verweis auf eine andere Klasse und soll Eigentümer dieser Klasse sein. Jede referenzierte Klasse gilt als Teil von die aggregierte Klasse.

Die Inhaberschaft tritt auf, weil in einer Aggregationsbeziehung keine zyklischen Referenzen vorhanden sein können. Wenn Klasse A einen Verweis auf Klasse B enthält und Klasse B einen Verweis auf Klasse A enthält, kann keine eindeutige Eigentümerschaft festgestellt werden, und es handelt sich lediglich um eine Assoziationsbeziehung.

Zum Beispiel, wenn Sie sich vorstellen, dass eine Schülerklasse Informationen über einzelne Schüler einer Schule speichert. Nehmen wir nun eine Subject-Klasse an, die die Details zu einem bestimmten Thema enthält (z. B. Geschichte, Geografie). Wenn die Student-Klasse so definiert ist, dass sie ein Subject-Objekt enthält, kann dies als Student-Objekt bezeichnet werden hat ein Subjekt Objekt. Das Subject-Objekt macht auch Teil von das Studentenobjekt - es gibt schließlich keinen Studenten ohne Studienfach. Das Student-Objekt besitzt daher das Subject-Objekt.

Beispiele

Definieren Sie eine Aggregationsbeziehung zwischen der Student-Klasse und der Subject-Klasse wie folgt:

 öffentlicher Unterricht Betreff 
private String name;
public void setName (String name)
this.name = name;

public String getName ()

return name;


öffentliche Klasse Student
privates Fach [] studyAreas = neues Fach [10];
// der Rest der Studentenklasse