Pratique sur l'application des interfaces en POO en PHP
Essayons l'application des interfaces en pratique. Résolvons la tâche sur les figures de la leçon précédente, mais en utilisant des interfaces, et non des classes abstraites.
Ainsi, nous avons maintenant l'interface Figure :
<?php
interface Figure
{
public function getSquare();
public function getPerimeter();
}
?>
Écrivons la classe Quadrate qui
implémentera les méthodes de cette interface :
<?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;
}
}
?>
Comment cela fonctionne : si l'on oublie d'implémenter
une méthode décrite dans l'interface,
PHP nous affichera une erreur fatale. Implémentons
également la classe 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);
}
}
?>
Créez la classe Disk,
implémentant l'interface Figure.