Mazoezi ya Kutumia Interfaces katika OOP kwa PHP
Wacha tujaribu matumizi ya interfaces kwa mazoezi. Wacha tutatue tatizo la maumbo kutoka somo lililopita, lakini kwa kutumia interfaces, na sio abstract classes.
Kwa hivyo, sasa tuna interface Figure:
<?php
interface Figure
{
public function getSquare();
public function getPerimeter();
}
?>
Wacha tuandike class Quadrate, ambayo
itakuwa inatekeleza methods za interface hii:
<?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;
}
}
?>
Jinsi inavyofanya kazi: ikiwa utasahau kutekeleza
method yoyote, iliyoelezewa kwenye interface,
PHP itatupa makosa makuu (fatal error). Wacha
tutekeleze pia class Rectangle:
<?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);
}
}
?>
Fanya class Disk,
iyatekeleze interface Figure.