⊗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.

Направете класа Employee, која ќе наследува од класата User и ќе додаде својство salary.

Направете класа City со јавни својства name и population.

Создадете 3 објекти од класата User, 3 објекти од класата Employee, 3 објекти од класата City, и по случаен редослед запишете ги во низата $arr.

Поминете ја со циклус низата $arr и испечатете на екран колона од својствата name на оние објекти кои припаѓаат на класата User или на потомок на оваа класа.

Поминете ја со циклус низата $arr и испечатете на екран колона од својствата name на оние објекти кои не припаѓаат на класата User или на потомок на оваа класа.

Поминете ја со циклус низата $arr и испечатете на екран колона од својствата name на оние објекти кои припаѓаат точно на класата User, односно не на класата City и не на класата Employee.

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