тк 3 июля праздник (в беларуси), буду не онлайн (по возможности буду отвечать)

Интерфейсы и instanceof

Оператор instanceof при работе с интерфейсами работает так же, как и при наследовании.

Посмотрим на примере. Пусть у нас есть вот такой класс Quadrate, который реализует интерфейс Figure:

<?php interface Figure { } class Quadrate implements Figure { } ?>

Создадим объект этого класса и проверим его оператором instanceof:

<?php $quadrate = new Quadrate; var_dump($quadrate instanceof Quadrate); // выведет true var_dump($quadrate instanceof Figure); // выведет true ?>

То есть с помощью instanceof можно проверять, реализует какой-то класс заданный интерфейс или нет.

Сделайте интерфейс Figure3d (трехмерная фигура), который будет иметь метод getVolume (получить объем) и метод getSurfaceSquare (получить площадь поверхности).

Сделайте класс Cube (куб), который будет реализовывать интерфейс Figure3d.

Создайте несколько объектов класса Quadrate, несколько объектов класса Rectangle и несколько объектов класса Cube. Запишите их в массив $arr в случайном порядке.

Переберите циклом массив $arr и выведите на экран только площади объектов реализующих интерфейс Figure.

Переберите циклом массив $arr и выведите для плоских фигур их площади, а для объемных - площади их поверхности.