⊗ppOpIhOI 36 of 107 menu

Toán tử instanceof và Kế thừa trong OOP PHP

Hãy cùng phân tích đặc điểm của kế thừa khi sử dụng toán tử instanceof. Giả sử chúng ta có một lớp cha và một lớp con:

<?php // Lớp cha: class ParentClass { } // Lớp con: class ChildClass extends ParentClass { } ?>

Hãy tạo một đối tượng của lớp con:

<?php $obj = new ChildClass; ?>

Bây giờ hãy kiểm tra bằng instanceof, xem đối tượng của chúng ta có thuộc về lớp ParentClass và lớp ChildClass không:

<?php var_dump($obj instanceof ChildClass); // sẽ hiển thị true var_dump($obj instanceof ParentClass); // cũng sẽ hiển thị true ?>

Như bạn thấy từ ví dụ - toán tử instanceof không phân biệt khi kiểm tra giữa các lớp cha và lớp con.

Đừng nhầm lẫn - nếu đối tượng thực sự là của lớp cha thì, tất nhiên, việc kiểm tra thuộc về lớp con sẽ trả về false:

<?php $obj = new ParentClass; // đối tượng của lớp cha var_dump($obj instanceof ParentClass); // sẽ hiển thị true var_dump($obj instanceof ChildClass); // sẽ hiển thị false ?>

Tạo lớp User với các thuộc tính công khai namesurname.

Tạo lớp Employee, lớp này sẽ kế thừa từ lớp User và thêm thuộc tính salary.

Tạo lớp City với các thuộc tính công khai namepopulation.

Tạo 3 đối tượng của lớp User, 3 đối tượng của lớp Employee, 3 đối tượng của lớp City, và ghi chúng vào mảng $arr theo thứ tự tùy ý.

Duyệt mảng $arr bằng vòng lặp và hiển thị ra màn hình cột thuộc tính name của những đối tượng thuộc về lớp User hoặc lớp con của lớp này.

Duyệt mảng $arr bằng vòng lặp và hiển thị ra màn hình cột thuộc tính name của những đối tượng không thuộc về lớp User hoặc lớp con của lớp này.

Duyệt mảng $arr bằng vòng lặp và hiển thị ra màn hình cột thuộc tính name của những đối tượng thuộc về chính xác lớp User, tức là không phải lớp City và không phải lớp Employee.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối