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