⊗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šuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј