Unser Quelltext der Klasse fernseher ist nun etwas gewachsen. Er sieht so aus:
<? //Quellcode der Datei fernseher.php //PhP 4 kompatibel //Definiert die Klasse fernseher class fernseher { var $eingeschaltet = "nein"; //ein Zustand wird als Variable gespeichert var $aktuellesProgramm; //speichert die Nummer vom aktuellen Programm /* * diese Funktion aendert den Zustand eingeschaltet */ function einschalten() { //$this zeigt, das wir auf etwas von der Klasse zugreifen //und zwar auf den zustand $eingeschaltet; $this->eingeschaltet = "ja"; } /* * diese Funktion aendert den Zustand eingeschaltet */ function ausschalten() { $this->eingeschaltet = "nein"; } /* * GET-Funktion liefert den Wert vom Zustand eingeschaltet */ function is_eingeschaltet() { return $this->eingeschaltet; } /* * SET-Funktion setzt den Wert vom Zustand aktuellesProgramm * Parameter $nr soll das aktuelle Programm sein. */ function programmWechseln($nr) { $this->aktuellesProgramm = $nr; } /* * GET-Funktion gibt den Wert vom Zustand aktuellesProgramm * wieder */ function aktuellesProgramm() { return $this->aktuellesProgramm; } } ?>
Anhand dieser neuen Methoden haben wir einige neue Techniken kennengelernt und vielleicht auch schon ein paar Probleme mit komplexeren Klassen erkannt.
Mithilfe dieses Schlüsselwortes können wir etwas zurückgeben. Somit wäre es uns möglich a) einen Zustandswert zurückzugeben (siehe is_eingeschaltet()) oder b) ein „Echo“ zurückzugeben, also z.B. wir rufen die Methode einschalten auf und diese gibt uns den boolischen Wert true zurück, wenn alles klappt - sonst false. Es könnte ja sein, dass der Fernseher schon eingeschaltet oder zur Zeit ausser Betrieb ist.
Set-Methoden sind Funktionen, die übergebene Parameter als Zustandswerte setzen.
Get-Methoden sind Methoden, die Zustandswerte abfragen und zurückgeben.
Diese standard Methoden sind sehr nützlich, weil Sie den Benutzer davon abhalten Zustände per Hand zu manipulieren. Das kann durchaus zu Problemen führen, wenn der Benutzer in den Variablen des Objektes rumfuscht.