Parametry v metodách rozhraní v OOP v PHP
Při popisu metod v rozhraních je nutné uvádět nejen názvy samotných metod, ale také parametry, které přijímají.
Podívejme se na příklad. Předpokládejme, že máme
rozhraní iMath, které popisuje třídu
pro matematické operace sčítání, odčítání,
násobení a dělení. Předpokládejme, že toto rozhraní
bude vypadat takto:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Nyní metody našeho rozhraní nepřijímají žádné parametry. A ve skutečnosti metody třídy, která toto rozhraní bude implementovat, také nebudou moci přijímat parametry, jinak dojde k chybě.
Pojďme nyní určit parametry metod v našem rozhraní:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Nyní napišme implementaci našeho rozhraní:
<?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;
}
}
?>
Pokud se v naší třídě pokusíme nastavit jiný počet parametrů - jednoduše se nám to nepodaří: PHP vypíše chybu. Tímto způsobem nemůžeme ani omylem zapomenout nějaký parametr, ani omylem přidat nadbytečný.
Předpokládejme, že máme dané toto rozhraní iUser:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Vytvořte třídu User, která bude
implementovat toto rozhraní.