⊗ppOpIhOPM 28 of 107 menu

Preklapanje metoda roditelja u OOP u PHP

Klasa dete može da preklopi metod roditelja, kreirajući metod sa istim imenom. Pogledajmo primer. Neka imamo sledeću roditeljsku klasu:

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

Hajde da u klasi detetu kreiramo metod sa istim imenom:

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

U pravilu, preklapanje metoda roditelja je potrebno da bi se promenilo ili dopunilo ponašanje tog metoda. Hajde da u našem slučaju dodamo proveru dužine imena:

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

Uverimo se da se poziva baš preklopljeni metod. Za početak kreirajmo objekat klase deteta:

<?php $student = new Student; ?>

Sada pozovimo naš metod, prosledivši u njega korektnu vrednost:

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

A sada pozovimo metod, prosledivši u njega nekorektnu vrednost. Kao rezultat videćemo izbačeni izuzetak:

<?php $student->setName(''); // greška ?>

U klasi User napravite geter i seter za godine.

U klasi Employee preklonite seter za godine i napravite u njemu proveru da li su godine između 18 i 65 godina.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij