⊗ppOpIhOI 36 of 107 menu

Operatoren instanceof og arv i OOP i PHP

La oss se på egenskapene ved arv når vi bruker operatoren instanceof. La oss si at vi har en foreldreklasse og en barneklasse:

<?php // Foreldreklassen: class ParentClass { } // Barneklassen: class ChildClass extends ParentClass { } ?>

La oss opprette et objekt av barneklassen:

<?php $obj = new ChildClass; ?>

La oss nå sjekke med instanceof om objektet vårt tilhører klassen ParentClass og klassen ChildClass:

<?php var_dump($obj instanceof ChildClass); // vil vise true var_dump($obj instanceof ParentClass); // vil også vise true ?>

Som du ser fra eksemplet - operatoren instanceof gjør ikke forskjell på foreldreklasser og barneklasser under sjekken.

Ikke bli forvirret - hvis objektet faktisk er av foreldreklassen, vil selvsagt sjekken for tilhørighet til barneklassen returnere false:

<?php $obj = new ParentClass; // objekt av foreldreklassen var_dump($obj instanceof ParentClass); // vil vise true var_dump($obj instanceof ChildClass); // vil vise false ?>

Lag en klasse User med offentlige egenskaper name og surname.

Lag en klasse Employee som arver fra klassen User og legger til egenskapen salary.

Lag en klasse City med offentlige egenskaper name og population.

Opprett 3 objekter av klassen User, 3 objekter av klassen Employee, 3 objekter av klassen City, og skriv dem i tilfeldig rekkefølge inn i arrayet $arr.

Gjennomgå arrayet $arr med en løkke og skriv ut en kolonne med egenskapene name for de objektene som tilhører klassen User eller en underklasse av denne klassen.

Gjennomgå arrayet $arr med en løkke og skriv ut en kolonne med egenskapene name for de objektene som ikke tilhører klassen User eller en underklasse av denne klassen.

Gjennomgå arrayet $arr med en løkke og skriv ut en kolonne med egenskapene name for de objektene som tilhører nøyaktig klassen User, det vil si ikke klassen City og ikke klassen Employee.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis