Paramètres dans les méthodes des interfaces en POO en PHP
Lors de la description des méthodes dans les interfaces, il est nécessaire d'indiquer non seulement les noms des méthodes elles-mêmes, mais aussi les paramètres qu'elles acceptent.
Regardons un exemple. Supposons que nous ayons
l'interface iMath, décrivant une classe
pour les opérations mathématiques d'addition, de soustraction,
de multiplication et de division. Supposons que cette interface
ressemble à ceci :
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Actuellement, les méthodes de notre interface n'acceptent aucun paramètre. Et en fait, les méthodes de la classe qui implémentera cette interface ne devront pas non plus accepter de paramètres, sinon une erreur se produira.
Indiquons les paramètres des méthodes dans notre interface :
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Écrivons maintenant l'implémentation de notre interface :
<?php
class Math implements iMath
{
public function sum($a, $b)
{
return $a + $b;
}
public function subtract($a, $b)
{
return $a - $b;
}
public function multiply($a, $b)
{
return $a * $b;
}
public function divide($a, $b)
{
return $a / $b;
}
}
?>
Si on tente dans notre classe de définir un nombre différent de paramètres - nous n'y arriverons tout simplement pas : PHP générera une erreur. Ainsi, nous ne pourrons ni oublier accidentellement un paramètre, ni en ajouter un de trop par accident.
Supposons que nous ayons cette interface iUser :
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Créez une classe User qui
implémentera cette interface.