Parametre v metódach rozhraní v OOP v PHP
Pri popise metód v rozhraniach je potrebné uvádzať nielen mená samotných metód, ale aj parametre, ktoré prijímajú.
Pozrime sa na príklad. Nech máme
rozhranie iMath, popisujúce triedu
pre matematické operácie sčítania, odčítania,
násobenia a delenia. Nech toto rozhranie
vyzerá takto:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Teraz metódy nášho rozhrania neprijímajú žiadne parametre. A v skutočnosti metódy triedy, ktorá bude implementovať toto rozhranie, tiež nebudú môcť prijímať parametre, inak dôjde k chybe.
Uveďme teraz parametre metód v našom rozhraní:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Napíšme teraz implementáciu nášho rozhrania:
<?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;
}
}
?>
Ak sa pokúsime v našej triede zadať iné množstvo parametrov - jednoducho sa nám to nepodarí: PHP vypíše chybu. Týmto spôsobom nebude možné ani náhodne zabudnúť nejaký parameter, ani náhodne pridať ďalší.
Nech je dané takéto rozhranie iUser:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Vytvorte triedu User, ktorá bude
implementovať dané rozhranie.