⊗ppOpIhOI 36 of 107 menu

instanceof оператори ва PHP да ООП да мерос

Келгила, instanceof операторини қўллаганда мероснинг хусусиятларини кўриб чиқайлик. Бизда ота синф ва фарзанд синф мавжуд:

<?php // Ота синф: class ParentClass { } // Фарзанд синф: class ChildClass extends ParentClass { } ?>

Фарзанд синфнинг объектини яратамиз:

<?php $obj = new ChildClass; ?>

Энди instanceof ёрдамида бизнинг объектимиз ParentClass синфига ва ChildClass синфига тегишлилигини текширамиз:

<?php var_dump($obj instanceof ChildClass); // true чиқади var_dump($obj instanceof ParentClass); // ҳам true чиқади ?>

Мисолдан кўриниб турганидек - instanceof оператори текширув жараёнида ота ва фарзанд синфлар ўртасида фарқ қилмайди.

Адашиб кетманг - агар объект ҳақиқатан ҳам ота синфдан бўлса, албатта, фарзанд синфга тегишлиликни текшириш false қайтаради:

<?php $obj = new ParentClass; // ота синфнинг объекти var_dump($obj instanceof ParentClass); // true чиқади var_dump($obj instanceof ChildClass); // false чиқади ?>

User синфини яратинг, умумхол қилинган name ва surname хоссалари билан.

User синфидан мерос олувчи Employee синфини яратинг ва унга salary хоссасини қўшинг.

Умумхол қилинган name ва population хоссалари билан City синфини яратинг.

User синфидан 3 та объект, Employee синфидан 3 та объект, City синфидан 3 та объект яратинг ва уларни тасодифий тартибда $arr массивига киритинг.

$arr массивини цикл ёрдамида айлантириб чикинг ва User синфига ёки ушбу синфнинг авлодига тегишли бўлган объектларнинг name хоссаларини экранга ustun шаклида чикаринг.

$arr массивини цикл ёрдамида айлантириб чикинг ва User синфига ёки ушбу синфнинг авлодига тегишли бўлмаган объектларнинг name хоссаларини экранга ustun шаклида чикаринг.

$arr массивини цикл ёрдамида айлантириб чикинг ва айнан User синфига тегишли бўлган, яъни City синфига ва Employee синфига тегишли бўлмаган объектларнинг name хоссаларини экранга ustun шаклида чикаринг.

Ўзбек
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
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш