PHP да ООП да интерфейсларнинг бир-биридан мерос олиши

Интерфейслар, худди синфлар каби, extends оператори ёрдамида бир-биридан мерос олишлари мумкин. Келгила, мисолда кўрамиз. Фарз қилайлик, бизда ўтган дарсдан бундай интерфейс бор:

php<?php
  interface iRectangle
  {
    public function __construct($a, $b);
    public function getSquare();
    public function getPerimeter();
  }
?>

Аммо, бизда iRectangle интерфейсимизнинг методларининг бир қисмини тасвирловчи iFigure интерфейси аллақачон мавжуд:

iFigure.php<?php
  interface iFigure
  {
    public function getSquare();
    public function getPerimeter();
  }
?>

Келгила, iRectangle интерфейси iFigure интерфейсининг методларидан мерос олсин:

iRectangle.php<?php
  interface iRectangle extends iFigure
  {
    public function __construct($a, $b);
  }
?>
Задание 1

getName, setName, getAge, setAge методларига эга бўлган iUser интерфейсини яратинг.

Задание 2

iUser интерфейсидан мерос олган ва унга getSalary ва setSalary методларини қўшиб берувчи iEmployee интерфейсини яратинг.

Задание 3

iEmployee интерфейсини амалга оширувчи Employee синфини яратинг.