Aggregatie in Java-definitie en voorbeelden

Aggregatie op Javais een relatie tussen twee klassen die het best kan worden omschreven als een "heeft-een" en "hele / gedeeltelijke" relatie. Het is een meer gespecialiseerde versie van de associatierelatie. De verzamelde klasse bevat een verwijzing naar een andere klasse en er wordt gezegd dat deze eigenaar is van die klasse. Elke klasse waarnaar wordt verwezen, wordt geacht te zijn deel van de verzamelklasse.

Eigendom treedt op omdat er geen cyclische verwijzingen in een aggregatierelatie kunnen zijn. Als Klasse A een verwijzing naar Klasse B bevat en Klasse B een verwijzing naar Klasse A bevat, kan geen duidelijk eigendom worden vastgesteld en is de relatie eenvoudigweg een associatie.

Als u zich bijvoorbeeld een studentklasse voorstelt die informatie over individuele studenten op een school opslaat. Neem nu een onderwerpklasse die de details over een bepaald onderwerp bevat (bijvoorbeeld geschiedenis, geografie). Als de klasse Student is gedefinieerd als een onderwerp Subject, kan worden gezegd dat het object Student heeft een Onderwerp voorwerp. Het object Subject maakt ook deel uit deel van het Student-object - er is immers geen student zonder een studieonderwerp. Het Student-object is daarom eigenaar van het Subject-object.

Voorbeelden

Definieer een aggregatierelatie tussen de studentenklasse en de onderwerpklasse als volgt:

 openbare klas Onderwerp 
private String naam;
public void setName (String name)
this.name = name;

public String getName ()

terugkeer naam;


openbare klas student
privé-onderwerp [] studyAreas = nieuw onderwerp [10];
// de rest van de studentenklasse