⊗ppOpIhOPM 28 of 107 menu

Tėvų metodų perrašymas OOP PHP

Paveldėjusi klasė gali perrašyti tėvo metodą, sukurdama metodą su tokiu pačiu pavadinimu. Pažiūrėkime pavyzdžiu. Tarkime, kad turime šią tėvinę klasę:

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

Paveldimoje klasėje sukurkime to paties pavadinimo metodą:

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

Paprastai, tėvų metodų perrašymas reikalingas tam, kad pakeistumėte arba papildytumėte šio metodo elgesį. Mūsų atveju pridėkime vardo ilgio patikrinimą:

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

Įsitikinkime, kad iškviečiamas būtent perrašytas metodas. Pirmiausia sukurkime paveldimos klasės objektą:

<?php $student = new Student; ?>

Dabar iškviestinėkime mūsų metodą, perduodami jam teisingą reikšmę:

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

O dabar iškviestinėkime metodą, perduodami jam neteisingą reikšmę. Rezultate pamatysime išmestą išimtį:

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

Klasėje User padarykite amžiaus getterį ir setterį.

Klasėje Employee perrašykite amžiaus setterį ir padarykite jame patikrinimą, kad amžius būtų nuo 18 iki 65 metų.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti