⊗ppOpIhCOM 29 of 107 menu

Thirrja e metodës së ripërcaktuar në OOP në PHP

Gjatë ripërcaktimit, fëmija humb qasjen në metodën e ripërcaktuar të prindit. Megjithatë, mund të merret qasja në të. Kjo bëhet duke përdorur fjalën kyçe parent, e cila tregon te klasa prind.

Le të shohim një shembull kur mund të na duhet qasje në metodën prind. Le të supozojmë 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ë supozojmë se në klasën-fëmijë kemi ripërcaktuar metodën e prindit:

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

Mund të vërehet se në metodën e ripërcaktuar gjatë plotësimit të kushtit në thelb ekzekutohet kodi i metodës prind. Rezulton një dublim i panevojshëm kodi.

Mund të shpëtohemi prej tij nëse thirret metoda e prindit. Le ta bëjmë këtë:

<?php class Student extends User { public function setName($name) { if (strlen($name) > 0) { parent::setName($name); // metoda e prindit } else { echo 'gabim në emrin e studentit'; } } } ?>

Jepet kodi në vijim:

<?php class User { private $age; public function setAge($age) { if ($age >= 0) { $this->age = $age; } else { echo 'duhet mosha më shumë se 0'; } } } class Employee extends User { public function setAge($age) { if ($age <= 120) { if ($age >= 0) { $this->age = $age; } else { echo 'duhet mosha më shumë se 0'; } } else { echo 'duhet mosha më pak se 120'; } } } ?>

Në klasën Employee korrigjoni (thjeshtoni) vendosësin e moshës, duke përdorur metodën origjinale të prindit.

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