⊗ppOpIhOI 36 of 107 menu

Operator instanceof dan Pewarisan dalam OOP dalam PHP

Mari kita kaji ciri-ciri pewarisan apabila menggunakan operator instanceof. Katakan kita mempunyai kelas induk dan kelas terbitan:

<?php // Kelas induk: class ParentClass { } // Kelas terbitan: class ChildClass extends ParentClass { } ?>

Mari buat objek kelas terbitan:

<?php $obj = new ChildClass; ?>

Sekarang mari kita semak dengan menggunakan instanceof, sama ada objek kita tergolong dalam kelas ParentClass dan kelas ChildClass:

<?php var_dump($obj instanceof ChildClass); // akan memaparkan true var_dump($obj instanceof ParentClass); // juga akan memaparkan true ?>

Seperti yang anda lihat dari contoh - operator instanceof tidak membezakan semasa pemeriksaan antara kelas induk dan kelas terbitan.

Jangan keliru - jika objek itu benar-benar daripada kelas induk, maka sudah tentu, semakan terhadap kepunyaan kelas terbitan akan mengembalikan false:

<?php $obj = new ParentClass; // objek kelas induk var_dump($obj instanceof ParentClass); // akan memaparkan true var_dump($obj instanceof ChildClass); // akan memaparkan false ?>

Buat kelas User dengan sifat awam name dan surname.

Buat kelas Employee, yang akan mewarisi daripada kelas User dan menambah sifat salary.

Buat kelas City dengan sifat awam name dan population.

Cipta 3 objek kelas User, 3 objek kelas Employee, 3 objek kelas City, dan dalam urutan sewenang-wenangnya masukkan mereka ke dalam array $arr.

Leluskan array $arr dengan gelung dan paparkan pada skrin lajur sifat name bagi objek-objek yang tergolong dalam kelas User atau keturunan kelas ini.

Leluskan array $arr dengan gelung dan paparkan pada skrin lajur sifat name bagi objek-objek yang *tidak* tergolong dalam kelas User atau keturunan kelas ini.

Leluskan array $arr dengan gelung dan paparkan pada skrin lajur sifat name bagi objek-objek yang tergolong *tepat* kepada kelas User, iaitu bukan kelas City dan bukan kelas Employee.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak