Інтерфейси


З допомогою інтерфейсів можна описати методи, які повинні бути реалізовані в класі без необхідності опису їх функціоналу.

Інтерфейси оголошуються так само, як і звичайні класи, але з використанням ключового слова 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() {
          // 
     }

}
?>

Думаю, суть зрозуміла.