Die Assoziationsbeziehung gibt an, dass eine Klasse eine andere Klasse kennt und auf diese verweist. Assoziationen können als eine "has-a" -Beziehung beschrieben werden, da die typische Implementierung in Java durch die Verwendung eines Instanzfelds erfolgt. Die Beziehung kann bidirektional sein, wobei jede Klasse einen Verweis auf die andere hält. Aggregation und Zusammensetzung sind Arten von Assoziationsbeziehungen.
Verbände schließen sich einem oder mehreren Dingen gegen einem oder mehreren anderen Dingen an. Ein Professor kann mit einem College-Kurs verbunden sein (eine Eins-zu-Eins-Beziehung), aber auch mit jedem Studenten in seiner Klasse (eine Eins-zu-Viele-Beziehung). Die Kursteilnehmer eines Abschnitts können mit den Kursteilnehmern eines anderen Abschnitts desselben Kurses verbunden sein (eine Viele-zu-Viele-Beziehung), während sich alle Abschnitte des Kurses auf einen einzelnen Kurs beziehen (eine Viele-zu-Eins-Beziehung)..
Stellen Sie sich ein einfaches Kriegsspiel mit einer AntiAircraftGun-Klasse und einer Bomber-Klasse vor. Beide Klassen müssen sich gegenseitig bewusst sein, weil sie sich gegenseitig zerstören sollen:
öffentliche Klasse AntiAirCraftGun
privates Bomberziel;
private int positionX;
private int positionY;
privater int Schaden;
public void setTarget (Bomber newTarget)
this.target = newTarget;
// Rest der AntiAircraftGun-Klasse
öffentlicher Bomber
privates AntiAirCraftGun-Ziel;
private int positionX;
private int positionY;
privater int Schaden;
public void setTarget (AntiAirCraftGun newTarget)
this.target = newTarget;
// Rest der Bomberklasse
Die AntiAirCraftGun-Klasse hat ein Bomber-Objekt und die Bomber-Klasse hat ein AntiAirCraftGun-Objekt.