⊗ppOpIhOI 36 of 107 menu

instanceof օպերատորը և ժառանգությունը OOP-ում PHP-ում

Եկեք բացահայտենք ժառանգության առանձնահատկությունները՝ օգտագործելով instanceof օպերատորը: Ենթադրենք, մենք ունենք ծնողական դաս և ժառանգ դաս.

<?php // Ծնողական դաս. class ParentClass { } // Ժառանգ դաս. class ChildClass extends ParentClass { } ?>

Ստեղծենք ժառանգ դասի օբյեկտ.

<?php $obj = new ChildClass; ?>

Այժմ ստուգենք instanceof-ի օգնությամբ, արդյոք մեր օբյեկտը պատկանում է ParentClass դասին և ChildClass դասին.

<?php var_dump($obj instanceof ChildClass); // կարտածի true var_dump($obj instanceof ParentClass); // նույնպես կարտածի true ?>

Ինչպես տեսնում եք օրինակից - instanceof օպերատորը չի տարբերակում ստուգման ժամանակ ծնողական և ժառանգ դասերի միջև:

Մի շփոթվեք - եթե օբյեկտը իսկապես լինի ծնողական դասի, ապա, իհարկե, պատկանելիության ստուգումը ժառանգ դասին կվերադարձնի false.

<?php $obj = new ParentClass; // ծնողական դասի օբյեկտ var_dump($obj instanceof ParentClass); // կարտածի true var_dump($obj instanceof ChildClass); // կարտածի false ?>

Ստեղծեք User դասը՝ պուբլիկ հատկություններով name և surname:

Ստեղծեք Employee դասը, որն կժառանգի User դասից և կավելացնի salary հատկությունը:

Ստեղծեք City դասը՝ պուբլիկ հատկություններով name և population:

Ստեղծեք 3 օբյեկտ User դասից, 3 օբյեկտ Employee դասից, 3 օբյեկտ City դասից և կամայական հերթականությամբ գրեք դրանք $arr զանգվածի մեջ:

Ցիկլով անցեք $arr զանգվածի վրայով և արտածեք էկրանին name հատկությունների սյունակը այն օբյեկտների, որոնք պատկանում են User դասին կամ այդ դասի ժառանգին:

Ցիկլով անցեք $arr զանգվածի վրայով և արտածեք էկրանին name հատկությունների սյունակը այն օբյեկտների, որոնք չեն պատկանում User դասին կամ այդ դասի ժառանգին:

Ցիկլով անցեք $arr զանգվածի վրայով և արտածեք էկրանին name հատկությունների սյունակը այն օբյեկտների, որոնք պատկանում են հենց User դասին, այսինքն ոչ City դասին և ոչ էլ Employee դասին:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել