⊗ppOpIhOPM 28 of 107 menu

Överskridande av föräldrametoder i OOP i PHP

En underklass kan åsidosätta en föräldermetod genom att skapa en metod med samma namn. Låt oss titta på ett exempel. Låt oss säga att vi har följande förälderklass:

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

Låt oss i underklassen skapa en metod med samma namn:

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

Vanligtvis behöver man åsidosätta metoder från föräldern för att ändra eller komplettera beteendet hos den metoden. Låt oss i vårt fall lägga till en kontroll av namnets längd:

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

Låt oss försäkra oss om att det är just den åsidosatta metoden som anropas. Låt oss först skapa ett objekt av underklassen:

<?php $student = new Student; ?>

Låt oss nu anropa vår metod, och skicka med ett korrekt värde:

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

Låt oss nu anropa metoden och skicka ett inkorrekt värde. Som ett resultat kommer vi att se ett utskrivet felmeddelande:

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

I klassen User, skapa en getter och setter för ålder.

I klassen Employee, åsidosätt settern för ålder och gör en kontroll där som säkerställer att åldern är mellan 18 och 65 år.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa