Giao diện
➔ Giao diện trong hướng đối tượng là một khuôn mẫu, cho phép chúng ta tạo một khuôn khổ cho một hoặc nhiều đối tượng
➔ Nhìn vào giao diện, chúng ta hoàn toàn có thể xác định được phương thức và thuộc tính cố định (hoặc hằng số) nào có trong đối tượng thực hiện nó.
➔ Cú pháp:
1 2 3 4 5 6 7 | <?php Interface InterfaceName { // code to do } ?> |
Thuộc tính giao diện
➔ Giao diện không phải là một đối tượng
➔ Trong giao diện, chúng tôi chỉ khai báo các phương thức, không xác định chúng.
◆ Trong giao diện ta có thể khai báo hằng nhưng không thể khai báo biến.
◆ Không thể khởi tạo một giao diện (vì nó không phải là một đối tượng).
◆ Các lớp giao diện thực thi phải khai báo và định nghĩa lại các phương thức có trong giao diện đó.
◆ Một lớp có thể triển khai nhiều giao diện.
◆ Các giao diện có thể kế thừa lẫn nhau.
Sử dụng giao diện
➔ Tạo giao diện
➔ Tạo giao diện triển khai lớp
➔ Lớp xác định nội dung của các hàm
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php interface Animal { public function getName(); } { private $name; public function getName() { return $this->name; } } ?> |
Sử dụng giao diện
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php interface Animal { public function getName(); } interface Buffalo { public function checkHorn(); } public class TheCalf implements Animal, Buffalo { private $name; const HORN = false; public function getName() { return $this->name; } public function checkHorn() { return self::HORN; } } ?> |
Sử dụng giao diện
➔ Tạo giao diện
➔ Tạo giao diện kế thừa giao diện
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php interface Animal { public function getName(); } interface Buffalo extends Animal { public function checkHorn(); } public class TheCalf implements Buffalo { private $name; const HORN = false; public function getName() { return $this->name; } public function checkHorn() { return self::HORN; } } ?> |