PHP-də OOP-də İnterfeys Metodlarında Parametrlər
Interfeyslərdə metodları təyin edərkən təkcə metodların öz adlarını deyil, həm də onların qəbul etdiyi parametrləri göstərmək lazımdır.
Gəlin bir nümunəyə baxaq. Tutaq ki, bizim
riyazi əməliyyatlar üçün toplama, çıxma,
vurma və bölməni təsvir edən iMath
interfeysimiz var. Bu interfeys belə görünsün:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Hal-hazırda interfeysimizin metodları heç bir parametr qəbul etmir. Və əslində, bu interfeysi həyata keçirəcək sinifin metodları da heç bir parametr qəbul etməməlidir, əks halda səhv baş verəcək.
Gəlin indi interfeysimizdə metod parametrlərini göstərək:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
İndi isə interfeysimizin realizasiyasını yazaq:
<?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;
}
}
?>
Əgər sinifimizdə parametrlərin sayını fərqli təyin etməyə çalışsaq - bu, sadəcə alınmayacaq: PHP səhv göstərəcək. Beləliklə, biz nə təsadüfən hansısa parametri unuda bilərik, nə də təsadüfən əlavə parametr əlavə edə bilərik.
Tutaq ki, bizə belə bir iUser interfeysi verilib:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Bu interfeysi həyata keçirən User sinifini yaradın.