Rajapintojen periytyminen toisilta OOP:ssa PHP:ssä
Rajapinnat voivat, kuten luokatkin, periä
toisilta extends-operaattorilla.
Katsotaanpa esimerkkiä. Oletetaan, että meillä
on tällainen rajapinti edellisestä oppitunnista:
<?php
interface iRectangle
{
public function __construct($a, $b);
public function getSquare();
public function getPerimeter();
}
?>
Kuitenkin meillä on jo iFigure-rajapinti,
joka kuvaa osan rajapintamme metodeista:
<?php
interface iFigure
{
public function getSquare();
public function getPerimeter();
}
?>
Tehdään niin, että iRectangle-rajapinta
perii iFigure-rajapinnan metodit:
<?php
interface iRectangle extends iFigure
{
public function __construct($a, $b);
}
?>
Tee iUser-rajapinta, jossa on metodit
getName, setName, getAge,
setAge.
Tee iEmployee-rajapinta, joka perii
iUser-rajapinnan ja lisää
siihen metodit getSalary ja
setSalary.
Tee Employee-luokka, joka toteuttaa
iEmployee-rajapinnan.