⊗ppOpIhOI 36 of 107 menu

De instanceof operator en overerving in OOP in PHP

Laten we de kenmerken van overerving bekijken bij het gebruik van de operator instanceof. Stel dat we een bovenliggende klasse en een onderliggende klasse hebben:

<?php // Bovenliggende klasse: class ParentClass { } // Onderliggende klasse: class ChildClass extends ParentClass { } ?>

Laten we een object van de onderliggende klasse maken:

<?php $obj = new ChildClass; ?>

Laten we nu met instanceof controleren of ons object tot de klasse ParentClass en de klasse ChildClass behoort:

<?php var_dump($obj instanceof ChildClass); // geeft true weer var_dump($obj instanceof ParentClass); // geeft ook true weer ?>

Zoals je uit het voorbeeld kunt zien - de operator instanceof maakt geen onderscheid bij het controleren tussen bovenliggende en onderliggende klassen.

Wees niet in de war - als het object daadwerkelijk van de bovenliggende klasse is, dan zal de controle op behoren tot de onderliggende klasse uiteraard false teruggeven:

<?php $obj = new ParentClass; // object van de bovenliggende klasse var_dump($obj instanceof ParentClass); // geeft true weer var_dump($obj instanceof ChildClass); // geeft false weer ?>

Maak een klasse User met publieke eigenschappen name en surname.

Maak een klasse Employee, die erft over van de klasse User en voegt eigenschap salary toe.

Maak een klasse City met publieke eigenschappen name en population.

Maak 3 objecten van de klasse User, 3 objecten van de klasse Employee, 3 objecten van de klasse City, en schrijf ze in willekeurige volgorde in de array $arr.

Doorloop de array $arr met een lus en geef op het scherm een kolom met de eigenschappen name weer van die objecten die behoren tot de klasse User of een afstammeling van deze klasse.

Doorloop de array $arr met een lus en geef op het scherm een kolom met de eigenschappen name weer van die objecten die niet behoren tot de klasse User of een afstammeling van deze klasse.

Doorloop de array $arr met een lus en geef op het scherm een kolom met de eigenschappen name weer van die objecten die behoren tot precies de klasse User, dus niet de klasse City en niet de klasse Employee.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren