Parameters in interface methods in OOP in PHP
Bij het beschrijven van methoden in interfaces is het nodig om niet alleen de namen van de methoden zelf op te geven, maar ook de parameters die ze accepteren.
Laten we naar een voorbeeld kijken. Stel we hebben
een interface iMath, die een klasse beschrijft
voor wiskundige bewerkingen: optellen, aftrekken,
vermenigvuldigen en delen. Laat deze interface
er als volgt uitzien:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Op dit moment accepteren de methoden van onze interface geen parameters. En in feite mogen de methoden van de klasse die deze interface zal implementeren, ook geen parameters accepteren, anders zal er een fout optreden.
Laten we de parameters van de methoden in onze interface opgeven:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Laten we nu de implementatie van onze interface schrijven:
<?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;
}
}
?>
Als je in onze klasse een ander aantal parameters probeert in te stellen - zal dit simpelweg niet lukken: PHP zal een fout geven. Op deze manier kunnen we noch per ongeluk een parameter vergeten, noch per ongeluk een extra parameter toevoegen.
Stel we hebben de volgende interface iUser:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Maak een klasse User, die deze
interface zal implementeren.