Parametri în metodele interfețelor în OOP în PHP
La descrierea metodelor în interfețe este necesar să indicăm nu numai numele metodelor în sine, ci și parametrii pe care îi acceptă.
Să vedem un exemplu. Să presupunem că avem
interfața iMath, care descrie o clasă
pentru operațiile matematice de adunare, scădere,
înmulțire și împărțire. Să presupunem că această interfață
arată astfel:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
În acest moment, metodele interfeței noastre nu acceptă nicieni parametri. Și, de fapt, metodele clasei care va implementa această interfață, de asemenea, nu ar trebui să accepte parametri, altfel va apărea o eroare.
Să specificăm parametrii metodelor în interfața noastră:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Să scriem acum implementarea interfeței noastre:
<?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;
}
}
?>
Dacă încercăm în clasa noastră să setăm un număr diferit de parametri - pur și simplu nu vom reuși: PHP va afișa o eroare. Astfel, nu vom putea nici să uităm din greșeală vreun parametru, nici să adăugăm accidental unul în plus.
Să presupunem că avem următoarea interfață iUser:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Creați o clasă User care va
implementa această interfață.