⊗ppOpIhOPM 28 of 107 menu

Überschreiben von Elternmethoden in OOP in PHP

Eine Kindklasse kann eine Methode des Elternteils überschreiben, indem sie eine Methode mit dem gleichen Namen erstellt. Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Elternklasse:

<?php class User { private $name; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } } ?>

Lassen Sie uns in der Kindklasse eine gleichnamige Methode erstellen:

<?php class Student extends User { public function setName($name) { } } ?>

In der Regel wird das Überschreiben von Methoden der Eltern benötigt, um das Verhalten dieser Methode zu ändern oder zu erweitern. Fügen wir in unserem Fall eine Überprüfung der Namenslänge hinzu:

<?php class Student extends User { public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'student name error'; } } } ?>

Lassen Sie uns sicherstellen, dass genau die überschriebene Methode aufgerufen wird. Erstellen wir zunächst ein Objekt der Kindklasse:

<?php $student = new Student; ?>

Rufen wir nun unsere Methode auf und übergeben ihr einen korrekten Wert:

<?php $student->setName('john'); ?>

Rufen wir nun die Methode auf und übergeben ihr einen inkorrekten Wert. Als Ergebnis werden wir eine ausgegebene Fehlermeldung sehen:

<?php $student->setName(''); // Fehler ?>

Machen Sie in der Klasse User einen Getter und Setter für das Alter.

Überschreiben Sie in der Klasse Employee den Setter für das Alter und implementieren Sie dort eine Prüfung, ob das Alter zwischen 18 und 65 Jahren liegt.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen