PHP да ООП да интерфейсларнинг бир-биридан мерос олиши
Интерфейслар, худди синфлар каби, extends оператори
ёрдамида бир-биридан мерос олишлари мумкин.
Келгила, мисолда кўрамиз. Фарз қилайлик, бизда
ўтган дарсдан бундай интерфейс бор:
<?php
interface iRectangle
{
public function __construct($a, $b);
public function getSquare();
public function getPerimeter();
}
?>
Аммо, бизда iRectangle интерфейсимизнинг методларининг
бир қисмини тасвирловчи iFigure интерфейси аллақачон мавжуд:
<?php
interface iFigure
{
public function getSquare();
public function getPerimeter();
}
?>
Келгила, iRectangle интерфейси iFigure
интерфейсининг методларидан мерос олсин:
<?php
interface iRectangle extends iFigure
{
public function __construct($a, $b);
}
?>
getName, setName, getAge,
setAge методларига эга бўлган iUser
интерфейсини яратинг.
iUser интерфейсидан мерос олган ва унга
getSalary ва setSalary методларини
қўшиб берувчи iEmployee интерфейсини яратинг.
iEmployee интерфейсини амалга оширувчи
Employee синфини яратинг.