⊗ppOpIhOI 36 of 107 menu

Az instanceof operátor és az öröklődés az OOP-ban PHP-ben

Nézzük meg az öröklődés sajátosságait az instanceof operátor használatakor. Tegyük fel, hogy van egy szülő osztályunk és egy gyermek osztályunk:

<?php // Szülő osztály: class ParentClass { } // Gyermek osztály: class ChildClass extends ParentClass { } ?>

Hozzunk létre egy objektumot a gyermek osztályból:

<?php $obj = new ChildClass; ?>

Ellenőrizzük most a instanceof segítségével, hogy az objektumunk a ParentClass osztályhoz és a ChildClass osztályhoz tartozik-e:

<?php var_dump($obj instanceof ChildClass); // true-t ad vissza var_dump($obj instanceof ParentClass); // szintén true-t ad vissza ?>

Amint a példából látható - az instanceof operátor nem tesz különbséget a szülő és a gyermek osztályok között az ellenőrzés során.

Ne keveredjünk össze - ha az objektum valóban a szülő osztályból származik, akkor természetesen a gyermek osztályhoz való tartozás ellenőrzése false értéket ad vissza:

<?php $obj = new ParentClass; // a szülő osztály objektuma var_dump($obj instanceof ParentClass); // true-t ad vissza var_dump($obj instanceof ChildClass); // false-t ad vissza ?>

Készítsen egy User osztályt publikus tulajdonságokkal: name és surname.

Készítsen egy Employee osztályt, amely örököl a User osztályból és hozzáad egy salary tulajdonságot.

Készítsen egy City osztályt publikus tulajdonságokkal: name és population.

Hozzon létre 3 objektumot a User osztályból, 3 objektumot a Employee osztályból, 3 objektumot a City osztályból, és tetszőleges sorrendben írja be őket a $arr tömbbe.

Iteráljon végig a $arr tömbön ciklussal és jelenítse meg a képernyőn a name tulajdonságok oszlopát azoknak az objektumoknak, amelyek a User osztályhoz vagy annak leszármazottjához tartoznak.

Iteráljon végig a $arr tömbön ciklussal és jelenítse meg a képernyőn a name tulajdonságok oszlopát azoknak az objektumoknak, amelyek nem tartoznak a User osztályhoz vagy annak leszármazottjához.

Iteráljon végig a $arr tömbön ciklussal és jelenítse meg a képernyőn a name tulajdonságok oszlopát azoknak az objektumoknak, amelyek pontosan a User osztályhoz tartoznak, vagyis nem a City osztályhoz és nem is a Employee osztályhoz.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás