⊗ppOpIhOI 36 of 107 menu

Operatoriaus instanceof naudojimas ir OOP paveldėjimas PHP

Išnagrinėkime paveldėjimo ypatumus naudojant operatorių instanceof. Tarkime, kad turime tėvinę klasę ir dukterinę klasę:

<?php // Tėvinė klasė: class ParentClass { } // Dukterinė klasė: class ChildClass extends ParentClass { } ?>

Sukurkime dukterinės klasės objektą:

<?php $obj = new ChildClass; ?>

Dabar patikrinkime naudodami instanceof, ar mūsų objektas priklauso klasei ParentClass ir klasei ChildClass:

<?php var_dump($obj instanceof ChildClass); // išves true var_dump($obj instanceof ParentClass); // taip pat išves true ?>

Kaip matote iš pavyzdžio - operatorius instanceof neatskiria tikrinant tėvines ir dukterines klases.

Nesupainokite - jei objektas tikrai bus tėvinės klasės, tai, žinoma, patikrinimas ar jis priklauso dukterinei klasei grąžins false:

<?php $obj = new ParentClass; // tėvinės klasės objektas var_dump($obj instanceof ParentClass); // išves true var_dump($obj instanceof ChildClass); // išves false ?>

Sukurkite klasę User su viešomis savybėmis name ir surname.

Sukurkite klasę Employee, kuri paveldės iš klasės User ir pridės savybę salary.

Sukurkite klasę City su viešomis savybėmis name ir population.

Sukurkite 3 klasės User objektus, 3 klasės Employee objektus, 3 klasės City objektus ir bet kokia tvarka įrašykite juos į masyvą $arr.

Prabėkite ciklu per masyvą $arr ir išveskite į ekraną savybės name stulpelį tų objektų, kurie priklauso klasei User arba šios klasės palikuonims.

Prabėkite ciklu per masyvą $arr ir išveskite į ekraną savybės name stulpelį tų objektų, kurie nepriklauso klasei User arba šios klasės palikuonims.

Prabėkite ciklu per masyvą $arr ir išveskite į ekraną savybės name stulpelį tų objektų, kurie priklauso būtent klasei User, tai yra ne klasei City ir ne klasei Employee.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti