(letzte Änderung an dieser Seite: 03.08.2010)
(letzte Synchronisation der PDF-Präsentation: 02.08.2017)
Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation
Methoden können Parameter anbieten, über die Werte an die Methode übergeben werden können (vgl. Kap. Funktionen in PHP).
PHP-Codefunction nameAendern($neuerName) { $name = $neuerName; }
oder mit zwei Werten:
PHP-Codefunction multiplizieren($a, $b) { $ergebnis = $a * $b; }
Wenn wir in einer Klasse eine Methode definieren, unterscheidet sich das Berechnungsergebnis u.U. für die einzelne Objekte. Deshalb verwenden wir $this:
PHP-Codefunction kontoStandErhoehen($alterKontostand, $einzahlungsbetrag) { $this->neuerKontostand = $alterKontostand + $einzahlungsbetrag; }
Damit werden zur Laufzeit die Werte für $alterKontostand und $einzahlungsbetrag durch Aufrufen der Methode übergeben und für das aktuelle Objekt berechnet. Es gibt keinen “neuen Kontostand” ohne ein zugehöriges Objekt “kontoX”, deshalb muss ein “neuer Kontostand” immer zu einem neuen Objekt gehören (z.B. $objekt1->neuerKontostand oder $objekt2->neuerKontostand). Außerdem bleibt so der Wert für $objekt->neuerKontostand gespeichert, auch wenn die Methode erneut aufgerufen wird.
Methoden führen Anweisungen aus, die i.d.R. als Ergebnis einen Wert/Werte haben (z.B. Berechnungsergebnis: $ergebnis = $a + $b). Die Ausgabe dieser Werte kann auf drei Arten erfolgen:
Über einen Befehle wie echo
oder print
wird der Wert direkt ausgegeben (kann dann aber nicht zu weiteren Verarbeitungen benutzt werden).
Der Wert wird in einem Attribut des Objekts gespeichert (wie im Beispiel oben $this->neuerKontostand
) und kann dann von anderen Klassen, Objekten … entsprechend weiterverarbeitet werden (z.B. als $kunde1->neuerKontostand
).
Um einem Objektattribut einen Wert zuzuweisen schreiben wir:
PHP-Code$objekt->einAttribut = 'EinWert';
Um den Wert abzufragen:
PHP-Code$aktuellerWert = $variable->eineEigenschaft;
Die Rückgabe erfolgt mit dem Schlüsselwort return
. Damit wird die Methode zu einer Funktion, deren Wert das Ergebnis der Berechnung ist.
PHP-Codefunction addieren($a, $b) { $this->ergebnis = $a + $b; return $this->ergebnis; }
Den Rückgabewert einer Methode weisen wir also durch folgende Anweisung einer Variablen zu:
PHP-Code$rueckgabeWert = $variable->eineMethodeDieEtwasZurueckgibt();
Variablen, die innerhalb einer Methode definiert werden und nur dort (z.B. zur Zwischenspeicherung der Ergebnisse einzelner Berechnungsschritte) verwendet werden, bezeichnet man als lokale Variablen bzw. Attribute.
Variablen, die von einer Klasse definiert werden und sowohl außerhalb als auch innerhalb einer Klassenmethode gültig sind, heißen globale Variablen/Attribute.
Diese Unterscheidung ist wichtig, weil auf lokale Variablen einer Klassenmethode u.U. nicht von außen zugegriffen werden kann.
PHP-Codeclass Kunde { // Globale Attribute public $kontostand = 100; public $zinssatz = 0.035; function zinsenAddieren() { // $zinsbetrag ist eine lokale Variable, die nur temporär zur Speicherung eines Zwischenergebnisses innerhalb der Methode benutzt wird $zinsbetrag = $this->kontostand * $this->zinssatz; return $this->kontostand + $zinsbetrag; } }
PHP-Codeclass Kunde { private $kundenNummer; public function setKundenNummer($kNummer) { $this->kundenNummer = $kNummer; } public function getKundenNummer() { // METHODE HIER DEFINIEREN (Ausgabe der Kundennummer) } } $kunde = new Kunde; // HIER ANWEISUNG FORMULIEREN (Kundennummer auf 32 setzen) echo "Kundennummer ist " . $kunde->getKundenNummer();