Parametrar i metoderna för gränssnitt i OOP i PHP
När man beskriver metoder i gränssnitt måste man ange inte bara namnen på metoderna själva, utan också de parametrar de tar emot.
Låt oss titta på ett exempel. Låt oss säga att vi har
ett gränssnitt iMath som beskriver en klass
för matematiska operationer: addition, subtraktion,
multiplikation och division. Låt detta gränssnitt
se ut så här:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
För närvarande tar metoderna i vårt gränssnitt inte emot några parametrar. Och faktiskt, metoderna i klassen som kommer att implementera detta gränssnitt kommer inte heller att få ta emot parametrar, annars blir det ett fel.
Låt oss ange parametrarna för metoderna i vårt gränssnitt:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Låt oss nu skriva implementationen av vårt gränssnitt:
<?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;
}
}
?>
Om man försöker ange ett annat antal parametrar i vår klass - kommer det helt enkelt inte att lyckas: PHP kommer att ge ett fel. På så sätt kan vi varken av misstag glömma någon parameter, eller av misstag lägga till en extra.
Låt oss säga att vi har följande gränssnitt iUser:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Skapa en klass User som
implementerar detta gränssnitt.