Aggregering i Java-definition och exempel

aggregation i Javaär ett förhållande mellan två klasser som bäst beskrivs som en "har-en" och "hel / del" relation. Det är en mer specialiserad version av associeringsrelationen. Den sammanlagda klassen innehåller en hänvisning till en annan klass och sägs ha ägande av den klassen. Varje klass som refereras anses vara del av den sammanlagda klassen.

Ägandet inträffar eftersom det inte kan finnas några cykliska referenser i en aggregeringsrelation. Om klass A innehåller en hänvisning till klass B och klass B innehåller en hänvisning till klass A kan inget tydligt ägande fastställas och förhållandet är helt enkelt en av föreningarna.

Om du till exempel föreställer dig att en elevklass som lagrar information om enskilda elever på en skola. Anta nu en ämnesklass som innehåller detaljer om ett visst ämne (t.ex. historia, geografi). Om studentklassen definieras att innehålla ett ämneobjekt kan det sägas att studentobjektet har en Subjekt objekt. Ämneobjektet utgör också del av Studentobjektet - det finns ju ingen student utan ämne att studera. Studentobjektet äger därför ämnesobjektet.

exempel

Definiera en sammanlagd relation mellan studentklass och ämnesklass enligt följande:

 public class Ämne 
privat strängnamn;
public void setName (String name)
this.name = name;

public String getName ()

returnamn;


allmän klassstudent
privatämne [] studyAreas = nytt ämne [10];
// resten av studentklassen