⊗ppOpIhOI 36 of 107 menu

Operātors instanceof un mantojums OOP PHP

Izpētīsim mantojuma īpatnības, lietojot operātoru instanceof. Pieņemsim, ka mums ir vecāku klase un bērnu klase:

<?php // Vecāku klase: class ParentClass { } // Bērnu klase: class ChildClass extends ParentClass { } ?>

Izveidosim bērnu klases objektu:

<?php $obj = new ChildClass; ?>

Pārbaudīsim tagad ar instanceof palīdzību, vai mūsu objekts pieder klasei ParentClass un klasei ChildClass:

<?php var_dump($obj instanceof ChildClass); // izvadīs true var_dump($obj instanceof ParentClass); // arī izvadīs true ?>

Kā redzat no piemēra - operātors instanceof neveido atšķirību pārbaudē starp vecāku un bērnu klasēm.

Nejaucieties - ja objekts patiešām būs vecāku klases, tad, protams, pārbaude uz piederību bērnu klasei atgriezīs false:

<?php $obj = new ParentClass; // vecāku klases objekts var_dump($obj instanceof ParentClass); // izvadīs true var_dump($obj instanceof ChildClass); // izvadīs false ?>

Izveidojiet klasi User ar publiskām īpašībām name un surname.

Izveidojiet klasi Employee, kas mantos no klases User un pievienos īpašību salary.

Izveidojiet klasi City ar publiskām īpašībām name un population.

Izveidojiet 3 klases User objektus, 3 klases Employee objektus, 3 klases City objektus, un nejaušā secībā ierakstiet tos masīvā $arr.

Izejiet ciklu cauri masīvam $arr un izvadiet uz ekrānu īpašību name kolonnu tiem objektiem, kas pieder klasei User vai šīs klases pēctečiem.

Izejiet ciklu cauri masīvam $arr un izvadiet uz ekrānu īpašību name kolonnu tiem objektiem, kas nepieder klasei User vai šīs klases pēctečiem.

Izejiet ciklu cauri masīvam $arr un izvadiet uz ekrānu īpašību name kolonnu tiem objektiem, kas pieder tieši klasei User, tas ir, ne klasei City un ne klasei Employee.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt