Параметри во методите на интерфејсите во ООП во PHP
При опишување на методите во интерфејсите потребно е да се наведат не само имињата на самите методи, туку и параметрите што ги прифаќаат.
Да погледнеме на пример. Нека ни е даден интерфејсот 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, што ќе
го имплементира дадениот интерфејс.