Eine Komposition ist ein Sonderfall der Aggregation, er beschreibt die Beziehung zwischen einem Ganzen und seinen Teilen. Ein Teil kann immer nur genau einem Ganzen zugeordnet sein.
In UML kann eine Komposition die an der ausgefüllten Raute am Ganzen, so dargestellt werden:
Eine Komposition in Java kann wie folgt erstellt werden
public class Ganzes
{
public Teil komposition;
Ganzes(){
komposition = new Teil();
}
public static void main(String[] args) {
Ganzes ganzes = new Ganzes();
}
}
public class Teil
{
public ArrayList komposition;
}
Bei der Komposition bestimmt das Ganze auch den Lebenszyklus der Teile.
Also wenn das Ganze gelöscht wird, werden auch die abhängigen Teile gelöscht.
Und zu jedem Zeitpunkt darf ein Teil zu genau einem Ganzen zugehörig sein.