Параметры ў метадах інтэрфейсаў у ААП у 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
, які будзе
рэалізоўваць дадзены інтэрфейс.