⊗ppOpIhOPM 28 of 107 menu

Szülő osztály metódusainak felülírása OOP-ban PHP-ben

Egy gyermekosztály felülírhatja a szülő metódusát egy azonos nevű metódus létrehozásával. Nézzük ezt egy példán keresztül. Tegyük fel, hogy a következő szülőosztályunk van:

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

Hozzunk létre egy azonos nevű metódust a gyermekosztályban:

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

Általában a szülő metódusok felülírása azért szükséges, hogy megváltoztassuk vagy kiegészítsük a metódus viselkedését. Esetünkben adjunk hozzá egy ellenőrzést a név hosszára:

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

Győződjünk meg arról, hogy valóban a felülírt metódus hívódik meg. Először hozzunk létre egy objektumot a gyermekosztályból:

<?php $student = new Student; ?>

Most hívjuk meg a metódusunkat, átadva neki egy helyes értéket:

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

Most pedig hívjuk meg a metódust, átadva neki egy helytelen értéket. Ennek eredményeképpen egy kivételt fogunk látni:

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

A User osztályban készítsen gettert és settert a korhoz.

A Employee osztályban írja felül a kor setterét és végezzen benne ellenőrzést, hogy a kor 18 és 65 év között legyen.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás