⊗ppOpIhOPM 28 of 107 menu

Преоптеређивање метода родитеља у ООП у PHP

Класа-потомак може да преоптеређује метод родитеља, креирајући метод са истим именом. Хајде да погледамо на примеру. Нека имамо следећу родитељску класу:

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

Хајде да у класи-потомку креирамо именски исти метод:

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

У принципу, преоптеређење метода родитеља је потребно да би се променило или допунило понашање тог метода. Хајде да у нашем случају додамо проверу дужине имена:

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

Хајде да се уверимо да се позива управо преоптеређени метод. За почетак креирајмо објекат класе потомка:

<?php $student = new Student; ?>

Сада ћемо позвати наш метод, проследивши у њега исправну вредност:

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

А сада ћемо позвати метод, проследивши у њега неисправну вредност. Као резултат видећемо изазвани изузетак:

<?php $student->setName(''); // грешка ?>

У класи User направите гетер и сетер за старост.

У класи Employee преоптеређите сетер за старост и у њему направите проверу да ли је старост од 18 до 65 година.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј