Интерфейсы не могут содержать свойства классов, но могут содержать константы.
Константы интерфейсов работают точно так же, как и константы классов, за исключением того, что они не могут быть переопределены наследующим классом или интерфейсом.
Для примера сделаем интерфейс iSphere, который будет описывать класс для работы с шаром.
В этом шаре нам надо будет найти объем и площадь поверхности. Для этого нам потребуется число Пи. Зададим его как константу нашего интерфейса:
<?php
interface iSphere
{
const PI = 3.14; // число ПИ как константа
// Конструктор шара:
public function __construct($radius);
// Метод для нахождения объема шара:
public function getVolume();
// Метод для нахождения площади поверхности шара:
public function getSquare();
}
?>
Сделайте класс Sphere, который будет реализовывать интерфейс iSphere.