Інтэрфейсы і 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
(⁅by⁆трохмерная
фігура⁅/by⁆), які будзе мець метад getVolume
(⁅by⁆атрымаць аб'ём⁅/by⁆) і метад getSurfaceSquare
(⁅by⁆атрымаць плошчу паверхні⁅/by⁆).
Зрабіце клас Cube
, які будзе
рэалізоўваць інтэрфейс Figure3d
.
Стварыце некалькі аб'ектаў класа Quadrate
,
некалькі аб'ектаў класа Rectangle
і некалькі аб'ектаў класа Cube
.
Запішыце іх у масіў $arr
у выпадковым
парадку.
Перабярыце цыклам масіў $arr
і выведзіце
на экран толькі плошчы аб'ектаў якія рэалізуюць
інтэрфейс iFigure
.
Перабярыце цыклам масіў $arr
і выведзіце
для плоскіх фігур іх плошчы, а для аб'ёмных
- плошчы іх паверхні.