⊗ppOpIhOPM 28 of 107 menu

Prepisovanie metód rodiča v OOP v PHP

Trieda-potomok môže prepísať metódu rodiča vytvorením metódy s rovnakým menom. Pozrime sa na príklad. Nech máme nasledujúcu rodičovskú triedu:

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

V triede-potomkovi vytvorme metódu s rovnakým menom:

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

Spravidla sa prepisovanie metód rodiča používa na to, aby sa zmenilo alebo doplnilo správanie tejto metódy. V našom prípade pridajme kontrolu dĺžky mena:

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

Presvedčme sa, že volá sa práve prepísaná metóda. Najprv vytvorme objekt triedy potomka:

<?php $student = new Student; ?>

Teraz zavolajme našu metódu, odovzdajúc jej korektnú hodnotu:

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

A teraz zavolajme metódu, odovzdajúc jej nekorektnú hodnotu. V dôsledku uvidíme vyvolanú výnimku:

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

V triede User vytvorte getter a setter veku.

V triede Employee prepíšte setter veku a vytvorte v ňom kontrolu, že vek je od 18 do 65 rokov.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť