⊗ppOpIhOI 36 of 107 menu

Operator instanceof dan Pewarisan dalam OOP di PHP

Mari kita bahas karakteristik pewarisan saat menggunakan operator instanceof. Misalkan kita memiliki kelas induk dan kelas turunan:

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

Mari buat objek dari kelas turunan:

<?php $obj = new ChildClass; ?>

Sekarang mari kita periksa dengan instanceof, apakah objek kita termasuk dalam kelas ParentClass dan kelas ChildClass:

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

Seperti yang Anda lihat dari contoh - operator instanceof tidak membedakan antara kelas induk dan kelas turunan saat pemeriksaan.

Jangan bingung - jika objek benar-benar dari kelas induk maka, tentu saja, pemeriksaan terhadap kepemilikan kelas turunan akan mengembalikan false:

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

Buatlah kelas User dengan properti publik name dan surname.

Buatlah kelas Employee, yang mewarisi dari kelas User dan menambahkan properti salary.

Buatlah kelas City dengan properti publik name dan population.

Buatlah 3 objek dari kelas User, 3 objek dari kelas Employee, 3 objek dari kelas City, dan dengan urutan sembarangan tuliskan mereka ke dalam array $arr.

Ulangi array $arr dengan loop dan tampilkan di layar kolom properti name dari objek-objek yang termasuk dalam kelas User atau turunan dari kelas ini.

Ulangi array $arr dengan loop dan tampilkan di layar kolom properti name dari objek-objek yang tidak termasuk dalam kelas User atau turunan dari kelas ini.

Ulangi array $arr dengan loop dan tampilkan di layar kolom properti name dari objek-objek yang termasuk tepat dalam kelas User, yaitu bukan kelas City dan bukan kelas Employee.

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