Praktijk op toepassing van interfaces in OOP in PHP
Laten we de toepassing van interfaces in de praktijk proberen. Laten we de taak over figuren uit de vorige les oplossen, maar nu gebruikmakend van interfaces, in plaats van abstracte klassen.
Dus, nu hebben we de interface Figure gekregen:
<?php
interface Figure
{
public function getSquare();
public function getPerimeter();
}
?>
Laten we de klasse Quadrate schrijven, die
de methodes van deze interface zal implementeren:
<?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;
}
}
?>
Hoe dit werkt: als we vergeten een
methode te implementeren, die in de interface
is beschreven, zal PHP een fatale fout geven. Laten we
ook de klasse Rectangle implementeren:
<?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);
}
}
?>
Maak de klasse Disk,
die de interface Figure implementeert.