⊗ppOpIhOI 36 of 107 menu

instanceof-operaattori ja perintä OOP:ssa PHP:ssä

Käydään läpi perinnän erityispiirteet käytettäessä instanceof-operaattoria. Oletetaan, että meillä on yliluokka ja aliluokka:

<?php // Yliluokka: class ParentClass { } // Aliluokka: class ChildClass extends ParentClass { } ?>

Luodaan olio aliluokasta:

<?php $obj = new ChildClass; ?>

Tarkastetaan nyt instanceof:n avulla, kuuluuko olioomme luokkaan ParentClass ja luokkaan ChildClass:

<?php var_dump($obj instanceof ChildClass); // tulostaa true var_dump($obj instanceof ParentClass); // tulostaa myös true ?>

Kuten esimerkistä näet - instanceof-operaattori ei tee eroa tarkastettaessa yli- ja aliluokkien välillä.

Älä hämäänny - jos olio on todella yliluokasta, niin tietysti tarkastus kuuluvuudesta aliluokkaan palauttaa false:

<?php $obj = new ParentClass; // yliluokan olio var_dump($obj instanceof ParentClass); // tulostaa true var_dump($obj instanceof ChildClass); // tulostaa false ?>

Tee luokka User, jossa on julkiset ominaisuudet name ja surname.

Tee luokka Employee, joka perii luokasta User ja lisää ominaisuuden salary.

Tee luokka City, jossa on julkiset ominaisuudet name ja population.

Luo 3 kappaletta luokan User oliota, 3 kappaletta luokan Employee oliota, 3 kappaletta luokan City oliota, ja satunnaisessa järjestyksessä tallenna ne taulukkoon $arr.

Käy läpi silmukalla taulukko $arr ja tulosta näytölle name-ominaisuuksien sarake niille olioille, jotka kuuluvat luokkaan User tai sen aliluokkaan.

Käy läpi silmukalla taulukko $arr ja tulosta näytölle name-ominaisuuksien sarake niille olioille, jotka eivät kuulu luokkaan User tai sen aliluokkaan.

Käy läpi silmukalla taulukko $arr ja tulosta näytölle name-ominaisuuksien sarake niille olioille, jotka kuuluvat nimenomaan luokkaan User, eli eivät luokkaan City eikä luokkaan Employee.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää