Интерфейсҳо ва instanceof дар ООП дар PHP
Бо ёрии instanceof метавон тафтиш кард,
ки оё як синфи муайян интерфейси додашударо
амалӣ мекунад ё не. Бо мисол назар меандозем. Бигзор мо
чунин синф дошта бошем:
<?php
class Quadrate implements iFigure
{
}
?>
Объекти ин синфро эҷод мекунем ва онро бо
амалиётгари instanceof тафтиш мекунем:
<?php
$quadrate = new Quadrate;
var_dump($quadrate instanceof Quadrate); // true-ро баро мекунад
var_dump($quadrate instanceof Figure); // true-ро баро мекунад
?>
Интерфейси Figure3d-ро созед, ки метод getVolume
ва метод getSurfaceSquare-ро дошта бошад.
Синфи Cube-ро созед, ки
интерфейси Figure3d-ро амалӣ кунад.
Чанд объекти синфи Quadrate,
чанд объекти синфи Rectangle
ва чанд объекти синфи Cube эҷод кунед.
Онҳоро дар массиви $arr бо тартиби тасодуфӣ
сабт кунед.
Массиви $arr-ро бо сикл гузаронед ва фақат
масоҳатҳои объектҳоеро, ки интерфейси iFigure-ро амалӣ мекунанд,
ба экран чоп кунед.
Массиви $arr-ро бо сикл гузаронед ва барои
шаклҳои паҳлӯ масоҳатҳои онҳо, ва барои шаклҳои ҳаҷмӣ
- масоҳатҳои рӯии онҳоро чоп кунед.