Từ khóa interface
Từ khóa interface được sử dụng để tạo các interface - các cấu trúc đặc biệt định nghĩa các phương thức mà một lớp phải triển khai. Interface chỉ chứa khai báo phương thức mà không có phần triển khai. Một lớp triển khai interface phải chứa tất cả các phương thức đã được khai báo trong interface đó.
Cú pháp
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Ví dụ
Hãy tạo một interface đơn giản và một lớp triển khai nó:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Đang ghi log vào file: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Thông điệp kiểm tra");
?>
Kết quả thực thi mã:
'Đang ghi log vào file: Thông điệp kiểm tra'
Ví dụ
Một interface có thể chứa nhiều phương thức, và lớp phải triển khai tất cả chúng:
<?php
interface Shape {
public function calculateArea();
public function calculatePerimeter();
}
class Circle implements Shape {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
public function calculateArea() {
return 3.14 * $this->radius * $this->radius;
}
public function calculatePerimeter() {
return 2 * 3.14 * $this->radius;
}
}
$circle = new Circle(5);
echo "Diện tích: " . $circle->calculateArea();
?>
Kết quả thực thi mã:
'Diện tích: 78.5'