Parameter in Methoden von Schnittstellen in OOP in PHP
Bei der Beschreibung von Methoden in Schnittstellen müssen nicht nur die Namen der Methoden selbst angegeben werden, sondern auch die von ihnen akzeptierten Parameter.
Schauen wir uns ein Beispiel an. Angenommen, wir haben
die Schnittstelle iMath, die eine Klasse
für mathematische Operationen der Addition, Subtraktion,
Multiplikation und Division beschreibt. Angenommen, diese Schnittstelle
sieht so aus:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Derzeit akzeptieren die Methoden unserer Schnittstelle keine Parameter. Und tatsächlich dürfen die Methoden der Klasse, die diese Schnittstelle implementieren wird, ebenfalls keine Parameter akzeptieren, sonst gibt es einen Fehler.
Geben wir nun die Parameter der Methoden in unserer Schnittstelle an:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Schreiben wir nun die Implementierung unserer Schnittstelle:
<?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;
}
}
?>
Wenn man versucht, in unserer Klasse eine andere Anzahl von Parametern zu definieren - wird das einfach nicht funktionieren: PHP gibt einen Fehler aus. Auf diese Weise können wir weder versehentlich einen Parameter vergessen, noch versehentlich einen extra Parameter hinzufügen.
Angenommen, wir haben die folgende Schnittstelle iUser:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Erstellen Sie eine Klasse User, die
diese Schnittstelle implementiert.