Java Reference
In-Depth Information
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(k)
(l)
(m)
(n)
(o)
(p)
(q)
Abbildung 11.6: Auswertungsreihenfolge boolescher Ausdrücke
während boolesche Funktionen etwas berechnen, nämlich einen booleschen Wert. Zur Berechnung
dieses Wertes müssen sie jedoch in der Regel intern auch etwas tun. Führt ein Funktionsaufruf nicht
nur zur Berechnung eines Wertes, sondern darüber hinaus dazu, dass sich nach Beendigung der
Funktion der Zustand des Hamsters bzw. der Hamster-Landschaft geändert hat, dann spricht man
davon, dass die Funktion einen sogenannten Seiteneffekt produziert hat.
Die folgende boolesche Funktion linksFrei produziert beispielsweise immer einen Seiteneffekt;
denn nach ihrer Ausführung hat der Hamster eine andere Blickrichtung als vorher.
boolean linksFrei() {
linksUm();
return vornFrei();
}
Genauso wie die drei vordefinierten Testbefehle keine Zustandsänderungen bewirken, also niemals
Seiteneffekte produzieren, sollten auch boolesche Funktionen in der Regel keine Seiteneffekte her-
vorrufen, d.h. sollten zur Berechnung eines zu liefernden Wertes innerhalb einer Funktion Zustands-
änderungen notwendig sein, so sollten diese vor dem Verlassen der Funktion wieder rückgängig
gemacht werden.
 
Search WWH ::




Custom Search