Aggregazione in Javaè una relazione tra due classi che è meglio descritta come una relazione "has-a" e "interi / parte". È una versione più specializzata della relazione di associazione. La classe aggregata contiene un riferimento a un'altra classe e si dice che abbia la proprietà di quella classe. Ogni classe a cui viene fatto riferimento è considerata come parte di la classe aggregata.
La proprietà si verifica perché non ci possono essere riferimenti ciclici in una relazione di aggregazione. Se la Classe A contiene un riferimento alla Classe B e la Classe B contiene un riferimento alla Classe A, non è possibile determinare una chiara proprietà e la relazione è semplicemente di associazione.
Ad esempio, se immagini che una classe Student che memorizza informazioni sui singoli studenti in una scuola. Ora assumi una classe Soggetto che contiene i dettagli su un particolare argomento (ad es. Storia, geografia). Se la classe Student è definita per contenere un oggetto Subject, si può dire che l'oggetto Student ha un Soggetto oggetto. Anche l'oggetto Subject compone parte di l'oggetto Studente - dopo tutto, non c'è studente senza materia da studiare. L'oggetto Student, quindi, possiede l'oggetto Subject.
Definire una relazione di aggregazione tra la classe Student e la classe Subject come segue:
public class Subject
Nome stringa privato;
public void setName (nome stringa)
this.name = name;
public String getName ()
nome di ritorno;
studente di classe pubblica
soggetto privato [] studyAreas = new Subject [10];
// il resto della classe Student