Параметри у метода интерфејса у ООП у 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 која ће
имплементирати овај интерфејс.