Gyakorlat az interfészek alkalmazására az OOP-ben PHP-ben
Próbáljuk ki az interfészek gyakorlati alkalmazását. Oldjuk meg az előző leckából származó alakzatok feladatát, de most már interfészeket használva, nem absztrakt osztályokat.
Tehát most kapunk egy Figure interfészt:
<?php
interface Figure
{
public function getSquare();
public function getPerimeter();
}
?>
Írjunk egy Quadrate osztályt, amely
implementálja ezen interfész metódusait:
<?php
class Quadrate implements Figure
{
private $a;
public function __construct($a)
{
$this->a = $a;
}
public function getSquare()
{
return $this->a * $this->a;
}
public function getPerimeter()
{
return 4 * $this->a;
}
}
?>
Hogyan működik: ha elfelejtünk implementálni
valamilyen, az interfészben leírt metódust,
a PHP halálos hibát jelez nekünk.
Implementáljunk egy Rectangle osztályt is:
<?php
class Rectangle implements Figure
{
private $a;
private $b;
public function __construct($a, $b)
{
$this->a = $a;
$this->b = $b;
}
public function getSquare()
{
return $this->a * $this->b;
}
public function getPerimeter()
{
return 2 * ($this->a + $this->b);
}
}
?>
Készítsen egy Disk osztályt,
amely implementálja a Figure interfészt.