...
Med disse detaljene på plass er klassediagrammet fullstendig nok til at vi kan skrive Java-kode for Institutt- og Emne-klassene. Her vil vi bare skissere løsningen, mens en slags oppskrift er gitt på siden om koding av 1-n-assosiasjonerMetoder for å opprette og fjerne koblinger er skissert under, med kode for å opprette eksempel-objektstrukturen, men merk at koden ikke sikrer konsistens, dvs. at koblingene er gjensidige, så vi må gjøre det manuelt.
Code Block |
---|
| public class Institutt {
// felt som kan inneholde flere emner
private ArrayList<Emne> emner;
// metode for å opprette emne-kobling
public void addEmne(Emne emne) {
this.emner.add(emne);
}
// metode for å fjerne emne-kobling
public void removeEmne(Emne emne) {
this.emner.remove(emne);
}
} |
| Code Block |
---|
| public class Emne {
// felt som kan inneholde ett Institutt
private Institutt ansvarligInstitutt;
// metode for å opprette eller fjerne ansvarlig-institutt-kobling
public void setAnsvarligInstitutt(Institutt institutt) {
this.ansvarligInstitutt = institutt;
}
} |
| Code Block |
---|
| Institutt idi = new Institutt(...);
Emne tdt4100 = new Emne(...);
Emne tdt4180 = new Emne(...);
idi.addEmne(tdt4100);
idi.addEmne(tdt4180);
tdt4100.setAnsvarligInstitutt(idi);
tdt4180.setAnsvarligInstitutt(idi); |
|
Ulike kombinasjoner av multiplisiteter gir opphav til ulike sett med innkapslingsmetoder og stiller ulike krav til deres logikk. Koding av de ulike variantene skisseres på egne sider (se sidelista under).