PHPのOOPにおけるインターフェースメソッドのパラメータ
インターフェースでメソッドを記述する際には、 メソッド自体の名前だけでなく、 それらが受け取るパラメータも指定する必要があります。
例を見てみましょう。数学演算の加算、減算、
乗算、除算のためのクラスを記述する
インターフェース iMath があるとします。
このインターフェースは次のようになります:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
現在、私たちのインターフェースのメソッドは パラメータを何も受け取りません。 実際、このインターフェースを実装するクラスのメソッドも、 パラメータを受け取ってはならず、 そうでなければエラーになります。
私たちのインターフェースのメソッドに パラメータを指定しましょう:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
次に、私たちのインターフェースの実装を書いてみましょう:
<?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はエラーを出力します。このようにして、 私たちは誤っていくつかのパラメータを 忘れたり、誤って余分なパラメータを 追加したりすることができなくなります。
次のようなインターフェース iUser があるとします:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
このインターフェースを実装する
User クラスを作成してください。