...
n-n-assosiasjoner kodes i Java med et Collection-felt spesialisert med < > til riktig type og med navn tilsvarende rollen (gjerne i flertall). Navngivingen av feltet er forsåvidt underordnet, siden det er innkapslingen i form av bl.a. add og remove-metoder som er viktig. Her er diagrammet for en generell n-n-assosiasjon og kode-malen for de to klassene som deltar i den:
PlantUML Macro |
---|
class Rolle1Klasse {
}
class Rolle2Klasse {
}
Rolle1Klasse "rolle1 0:n" -- "rolle2 0:n" Rolle2Klasse: assosiasjon
|
| Code Block |
---|
| public class Rolle1Klasse {
private Collection<Rolle2Klasse> roller2 = new ArrayList<Rolle2Klasse>();
public void addRolle2(Rolle2Klasse rolle2) {
// unngå duplikat
if (! roller2.contains(rolle2)) {
this.roller2.add(rolle2);
}
}
public void removeRolle2(Rolle2Klasse rolle2) {
this.roller2.remove(rolle2);
}
} |
| Code Block |
---|
| public class Rolle2Klasse {
private Collection<Rolle1Klasse> roller1 = new ArrayList<Rolle1Klasse>();
public void addRolle1(Rolle1Klasse rolle1) {
// unngå duplikat
if (! roller1.contains(rolle1)) {
this.roller1.add(rolle1);
}
}
public void removeRolle1(Rolle1Klasse rolle1) {
this.roller1.remove(rolle1);
}
} |
|