⊗ppOpIhCOM 29 of 107 menu

PHP да ООП да ўзгартирилган методни чақириш

Ўзгартириш жараёнида фарзанд ўзгартирилган методга кириш имкониятини йўқотади. Аммо, унга киришни янада амалга ошириш мумкин. Бу parent калит сўзи орқали бажарилади, у ота-она синфини кўрсатади.

Келгила, бизга ота-она методига кириш қачон керак бўлиши мумкинлигини мисолда кўрамиз. Фарз қилайлик, бизда куйидаги ота-она синфи мавжуд:

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

Фарз қилайлик, биз фарзанд синфида ота-она методини ўзгартирдик:

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

Ўзгартирилган методда шарт бажарилганда аслода ота-она методининг коди ишлашини кузатиш мумкин. Натижада керксиз код такрорланиши юз беради.

Ундан ота-она методини чақириш орқали халос бўлиш мумкин. Келгила, буни бажарамиз:

<?php class Student extends User { public function setName($name) { if (strlen($name) > 0) { parent::setName($name); // ота-она методи } else { echo 'student name error'; } } } ?>

Куйидаги код берилган:

<?php class User { private $age; public function setAge($age) { if ($age >= 0) { $this->age = $age; } else { echo 'need age more 0'; } } } class Employee extends User { public function setAge($age) { if ($age <= 120) { if ($age >= 0) { $this->age = $age; } else { echo 'need age more 0'; } } else { echo 'need age less 120'; } } } ?>

Employee синфида ёш сеттерини соддалаштиринг, ота-онанинг асл методидан фойдаланиб.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш