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 классын
жасагыла.