อินเทอร์เฟซและ instanceof ใน OOP ใน PHP
ด้วย instanceof เราสามารถตรวจสอบได้ว่า
คลาสใดๆ นำอินเทอร์เฟซที่กำหนดมาใช้
หรือไม่ มาดูตัวอย่าง สมมติว่าเรามี
คลาสดังนี้:
<?php
class Quadrate implements iFigure
{
}
?>
มาสร้างออบเจ็กต์ของคลาสนี้และตรวจสอบด้วย
ตัวดำเนินการ instanceof:
<?php
$quadrate = new Quadrate;
var_dump($quadrate instanceof Quadrate); // จะแสดง true
var_dump($quadrate instanceof Figure); // จะแสดง true
?>
สร้างอินเทอร์เฟซ Figure3d ซึ่งจะมีเมธอด getVolume
และเมธอด getSurfaceSquare
สร้างคลาส Cube ซึ่งจะ
นำอินเทอร์เฟซ Figure3d ไปใช้
สร้างออบเจ็กต์ของคลาส Quadrate หลายๆ อัน,
ออบเจ็กต์ของคลาส Rectangle หลายๆ อัน
และออบเจ็กต์ของคลาส Cube หลายๆ อัน
บันทึกลงในอาร์เรย์ $arr โดยเรียงลำดับแบบสุ่ม
วนลูปผ่านอาร์เรย์ $arr และแสดง
บนหน้าจอเฉพาะพื้นที่ของออบเจ็กต์ที่นำ
อินเทอร์เฟซ iFigure ไปใช้
วนลูปผ่านอาร์เรย์ $arr และแสดง
สำหรับรูปทรงสองมิติคือพื้นที่ของพวกมัน และสำหรับรูปทรงสามมิติ
- คือพื้นที่ผิวของพวกมัน