การสืบทอดอินเทอร์เฟซจากกันและกันใน OOP ใน PHP
อินเทอร์เฟซ ก็เหมือนกับคลาส สามารถสืบทอด
จากกันและกันได้โดยใช้โอเปอเรเตอร์ extends
ลองดูตัวอย่าง สมมติว่าเรา
มีอินเทอร์เฟซนี้จากบทเรียนที่แล้ว:
<?php
interface iRectangle
{
public function __construct($a, $b);
public function getSquare();
public function getPerimeter();
}
?>
อย่างไรก็ตาม เรามีอินเทอร์เฟซ iFigure อยู่แล้ว
ซึ่งอธิบายเมธอดบางส่วนของอินเทอร์เฟซเรา:
<?php
interface iFigure
{
public function getSquare();
public function getPerimeter();
}
?>
มาทำให้อินเทอร์เฟซ iRectangle
สืบทอดเมธอดจากอินเทอร์เฟซ iFigure กัน:
<?php
interface iRectangle extends iFigure
{
public function __construct($a, $b);
}
?>
สร้างอินเทอร์เฟซ iUser พร้อมเมธอด
getName, setName, getAge,
setAge
สร้างอินเทอร์เฟซ iEmployee ซึ่งสืบทอด
จากอินเทอร์เฟซ iUser และเพิ่ม
เมธอด getSalary และ
setSalary เข้าไป
สร้างคลาส Employee ที่นำอินเทอร์เฟซ
iEmployee ไป implement