З допомогою інтерфейсів можна описати методи, які повинні бути реалізовані в класі без необхідності опису їх функціоналу.
Інтерфейси оголошуються так само, як і звичайні класи, але з використанням ключового слова interface. Тіла методів інтерфейсів повинні бути порожніми.
Методи, всередині інтерфейсу, повинні бути визначені як публічні.
Приклад опису інтерфейсу:
<?php // Оголосимо інтерфейс 'CarTemplate' interface CarTemplate { public function getId(); // отримати id автомобіля public function getName(); // отримати назву public function add(); // додати новий автомобіль } ?>
Для реалізації інтерфейсу використовується оператор implements. Клас повинен реалізувати всі методи, описані в інтерфейсі; інакше станеться фатальна помилка. Якщо потрібно, то класи можуть реалізовувати більше одного інтерфейсу, реалізовані інтерфейси повинні розділятися комою.
Приклад:
<?php
// Оголосимо інтерфейс 'CarTemplate'
class Audi implements CarTemplate {
function getId() {
return "1-ATHD98";
}
function getName() {
return "Audi";
}
function add() {
//
}
}
class Bmw implements CarTemplate {
function getId() {
return "2-HHFY14";
}
function getName() {
return "BMW";
}
function add() {
//
}
}
?>
Думаю, суть зрозуміла.