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:

iMath.php<?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í:

iMath.php<?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:

Math.php<?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ší.

Задание 1

Nech je dané takéto rozhranie iUser:

php<?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.