⊗ppOpIhOPM 28 of 107 menu

Rishkrimi i metodave të prindit në OOP në PHP

Një klasë e trashëguar mund të rishkruajë metodën e prindit, duke krijuar një metodë me të njëjtin emër. Le të shohim në një shembull. Le të themi se kemi këtë klasë prind:

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

Le të krijojmë në klasën e trashëguar një metodë me të njëjtin emër:

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

Në përgjithësi, rishkrimi i metodave të prindit nevojitet për të ndryshuar ose plotësuar sjelljen e atij metode. Le të shtojmë në rastin tonë një kontroll të gjatësisë së emrit:

<?php class Student extends User { public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'gabim në emrin e studentit'; } } } ?>

Le të sigurohemi që po thirret pikërisht metoda e rishkruar. Së pari le të krijojmë një objekt të klasës së trashëguar:

<?php $student = new Student; ?>

Tani le ta thërrasim metodën tonë, duke i kaluar asaj një vlerë korrekte:

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

Dhe tani le ta thërrasim metodën, duke i kaluar asaj një vlerë të pasaktë. Si rezultat do të shohim një përjashtim të hedhur:

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

Në klasën User bëni getter dhe setter për moshën.

Në klasën Employee rishkruani setter për moshën dhe bëni në të kontrollin që mosha të jetë nga 18 deri në 65 vjet.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo