Интерфейсҳо ва instanceof дар ООП дар PHP

Бо ёрии instanceof метавон тафтиш кард, ки оё як синфи муайян интерфейси додашударо амалӣ мекунад ё не. Бо мисол назар меандозем. Бигзор мо чунин синф дошта бошем:

Quadrate.php<?php
  class Quadrate implements iFigure
  {
    
  }
?>

Объекти ин синфро эҷод мекунем ва онро бо амалиётгари instanceof тафтиш мекунем:

index.php<?php
  $quadrate = new Quadrate;
  
  var_dump($quadrate instanceof Quadrate); // true-ро баро мекунад
  var_dump($quadrate instanceof Figure);   // true-ро баро мекунад
?>
Задание 1

Интерфейси Figure3d-ро созед, ки метод getVolume ва метод getSurfaceSquare-ро дошта бошад.

Задание 2

Синфи Cube-ро созед, ки интерфейси Figure3d-ро амалӣ кунад.

Задание 3

Чанд объекти синфи Quadrate, чанд объекти синфи Rectangle ва чанд объекти синфи Cube эҷод кунед. Онҳоро дар массиви $arr бо тартиби тасодуфӣ сабт кунед.

Задание 4

Массиви $arr-ро бо сикл гузаронед ва фақат масоҳатҳои объектҳоеро, ки интерфейси iFigure-ро амалӣ мекунанд, ба экран чоп кунед.

Задание 5

Массиви $arr-ро бо сикл гузаронед ва барои шаклҳои паҳлӯ масоҳатҳои онҳо, ва барои шаклҳои ҳаҷмӣ - масоҳатҳои рӯии онҳоро чоп кунед.