Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
// i Rolle1Klasse

public void addRolle2(Rolle2Klasse rolle2) {
	// sjekk om koblingen er riktig allerede
	if (this.roller2.contains(rolle2)) {
		return;
	}
	this.roller2.add(rolle2);
	// opprett koblingen tilbake, om nødvendig
	if (! rolle2.hasRolle1(this)) {
		rolle2.addRolle1(this);
	}
}

public void removeRolle2(Rolle2Klasse rolle2) {
	// sjekk om koblingen er riktig allerede
	if (! this.roller2.contains(rolle2)) {
		return;
	}
	this.roller2.remove(rolle2);
	// fjern koblingen tilbake, om nødvendig
	if (rolle2.hasRolle1(this)) {
		rolle2.removeRolle1(this);
	}
}

 

 

add- metoden sørger og remove-metodene sørger dermed for å gjøre tilstanden konsistent. Merk at innkapslingen er ivaretatt ved at en klasse bruker innkapslingsmetoder hos den andre.

...