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