PHPのOOPにおけるインターフェースメソッドのパラメータ

インターフェースでメソッドを記述する際には、 メソッド自体の名前だけでなく、 それらが受け取るパラメータも指定する必要があります。

例を見てみましょう。数学演算の加算、減算、 乗算、除算のためのクラスを記述する インターフェース iMath があるとします。 このインターフェースは次のようになります:

iMath.php<?php
  interface iMath
  {
    public function sum();
    public function subtract();
    public function multiply();
    public function divide();
  }
?>

現在、私たちのインターフェースのメソッドは パラメータを何も受け取りません。 実際、このインターフェースを実装するクラスのメソッドも、 パラメータを受け取ってはならず、 そうでなければエラーになります。

私たちのインターフェースのメソッドに パラメータを指定しましょう:

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);
  }
?>

次に、私たちのインターフェースの実装を書いてみましょう:

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;
    }
  }
?>

私たちのクラスで異なる数のパラメータを 設定しようとすると、単に成功しません: PHPはエラーを出力します。このようにして、 私たちは誤っていくつかのパラメータを 忘れたり、誤って余分なパラメータを 追加したりすることができなくなります。

Задание 1

次のようなインターフェース iUser があるとします:

php<?php
  interface iUser
  {
    public function setName($name);
    public function getName();
    public function setAge($age);
    public function getAge();
  }
?>

このインターフェースを実装する User クラスを作成してください。