⊗ppOpIhOI 36 of 107 menu

Die instanceof operateur en oorerwing in OOP in PHP

Kom ons kyk na die kenmerke van oorerwing wanneer die instanceof operateur gebruik word. Laat ons sê ons het 'n ouerklas en 'n kindklas:

<?php // Ouergroep klas: class ParentClass { } // Kindklas: class ChildClass extends ParentClass { } ?>

Kom ons skep 'n voorwerp van die kindklas:

<?php $obj = new ChildClass; ?>

Kom ons toets nou met behulp van instanceof, of ons voorwerp behoort aan die ParentClass klas en die ChildClass klas:

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

Soos jy uit die voorbeeld kan sien - die instanceof operateur maak nie 'n onderskeid tussen ouer- en kindklasse tydens toetsing nie.

Moenie verwar raak nie - as die voorwerp werklik van die ouerklas is, sal die toets vir behoort aan die kindklas natuurlik false teruggee:

<?php $obj = new ParentClass; // voorwerp van die ouerklas var_dump($obj instanceof ParentClass); // sal true toon var_dump($obj instanceof ChildClass); // sal false toon ?>

Maak 'n klas User met openbare eienskappe name en surname.

Maak 'n klas Employee wat sal erf van die klas User en 'n eienskap salary byvoeg.

Maak 'n klas City met openbare eienskappe name en population.

Skep 3 voorwerpe van die User klas, 3 voorwerpe van die Employee klas, 3 voorwerpe van die City klas, en skryf hulle in 'n willekeurige volgorde in die array $arr.

Itereer deur die $arr array met 'n lus en vertoon 'n kolom van die name eienskappe op die skerm van die voorwerpe wat aan die User klas of 'n afstammeling van hierdie klas behoort.

Itereer deur die $arr array met 'n lus en vertoon 'n kolom van die name eienskappe op die skerm van die voorwerpe wat nie aan die User klas of 'n afstammeling van hierdie klas behoort nie.

Itereer deur die $arr array met 'n lus en vertoon 'n kolom van die name eienskappe op die skerm van die voorwerpe wat presies aan die User klas behoort, dit wil sê nie aan die City klas of die Employee klas nie.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp