(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 eines Objekts führen wir aus mit:
PHP-Code$variable->eineMethode();
oder
PHP-Code$variabe->eineMethode(wertuebergeben);
Den Hund (namentlich: das Objekt $hund
) füttern wir also mit
PHP-Code$hund->fressen('Keks');
Auch hier bezieht sich die Methode fressen
auf das Objekt $hund
.
In der Methode fressen($nahrung)
wurde festgelegt: Wenn “fressen” ausgeführt wird, ändert sich die Variable $hungrig
für das jeweilige Objekt, in unserem Fall also $hund->hungrig
. Das lässt sich abfragen mit
PHP-Codeecho $hund->hungrig;
Ausgabe ist der durch die Methode veränderte Wert.
PHP-Codeclass Hund { //Attribut (Eigenschaft) public $hungrig = 'Ich habe Hunger.'; // Methode public function fressen($nahrung) { $this->hungrig = 'Habe keinen so großen Hunger.<br />'; } } // Objekt $hund erzeugen $hund = new Hund; // Ausgabe des Werts des Attributs $hungrig für das Objekt $hund echo $hund->hungrig; // Aufrufen der Methode fressen für das Objekt $hund $hund->fressen('Keks'); echo "<em>Der Hund hat gerade einen Keks bekommen.</em><br />"; // Ausgabe des neuen, durch die Methode "fressen" veränderten Wertes für $hungrig im Objekt $hund echo $hund->hungrig;
Der Konstruktor bestimmt den Zustand eines Objekts zum Zeitpunkt der Instanziierung, indem z.B. für Attribute default-Werte gesetzt werden. Der Konstruktur ist eigentlich nichts weiter als eine Methode, die bei der Instanziierung eines Objekts ausgeführt wird. Diesen Vorgang nennt man “Initialisierung” des Objekts (“initializing”).
In PHP ist ein Konstruktor nicht unbedingt nötig, damit ein Objekt initialisiert werden kann.
Beispiel:
PHP-Codeclass Hund extends Tier { public $rasse; public function __construct($rasse) { $this->rasse = $rasse; } // usw.
Um ein Objekt $hund zu erzeugen, müssen wir seine Rasse angeben:
PHP-Code$hund = new Hund('Schäferhund');
Die Rasse kann später auch verändert werden:
PHP-Code$hund->rasse = 'Mops';
PHP-Codeclass Kunde { // Attribute public $name = "Schmitt"; // Methoden function nameAusgeben() { return $this->name; } } $kunde = new Kunde; // Hier Methode ausführen
PHP-Codeclass Kunde { // Attribute public $kontostand = 0; // Methoden function kontostandSetzen() { $this->kontostand = 400; } } $kunde = new Kunde; echo "Alter Kontostand: " . $kunde->kontostand . "<br />\n"; // neuen Kontostand durch Methode kontostandSetzen festlegen lassen // METHODENAUFRUF HIER EINFÜGEN echo "Neuer Kontostand : " . $kunde->kontostand;
PHP-Codeclass Kunde { // Attribute public $kontostand = 0; // Methoden function kontostandSetzen() { $this->kontostand = 400; } } $kunde = new Kunde; echo "Alter Kontostand: " . $kunde->kontostand . "<br />\n"; // neuen Kontostand durch Methode kontostandSetzen festlegen lassen // METHODE HIER EINFÜGEN