⊗ppOpIhOPM 28 of 107 menu

Suprascrierea metodelor părinților în OOP în PHP

O clasă copil poate suprascrie metoda părintelui, creând o metodă cu același nume. Să ne uităm la un exemplu. Să presupunem că avem următoarea clasă părinte:

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

Să creăm în clasa copil o metodă cu același nume:

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

De obicei, suprascrierea metodelor părintelui este necesară pentru a modifica sau completa comportamentul acestei metode. În cazul nostru, să adăugăm o verificare a lungimii numelui:

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

Să ne asigurăm că este apelată exact metoda suprascrisă. Pentru început, să creăm un obiect al clasei copil:

<?php $student = new Student; ?>

Acum să apelăm metoda noastră, transmițându-i o valoare corectă:

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

Și acum să apelăm metoda, transmitându-i o valoare incorectă. Ca rezultat, vom vedea excepția aruncată:

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

În clasa User faceți un getter și un setter pentru vârstă.

În clasa Employee suprascrieți setter-ul vârstei și faceți în el o verificare că vârsta este de la 18 până la 65 ani.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge