Parametrat në metodat e interfacave në OOP në PHP
Gjatë përshkrimit të metodave në interfaca është e nevojshme të tregohet jo vetëm emrat e vetë metodave, por edhe parametrat që ato pranojnë.
Le të shohim një shembull. Le të themi se kemi
interfacen iMath, i cili përshkruan një klasë
për veprimet matematikore të mbledhjes, zbritjes,
shumëzimit dhe pjesëtimit. Le të themi se ky interface
duket kështu:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Tani metodat e interfacit tonë nuk pranojnë asnjë parametër. Dhe në fakt metodat e klasës që do të implementojë këtë interface, gjithashtu nuk duhet të pranojnë parametra, përndryshe do të ketë gabim.
Le të tregojmë parametrat e metodave në interfacin tonë:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Le të shkruajmë tani implementimin e interfacit tonë:
<?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;
}
}
?>
Nëse përpiqemi në klasën tonë të vendosim një numër të ndryshëm të parametrave - ne thjesht nuk do të shkojmë: PHP do të shfaqë një gabim. Kështu ne nuk do të jemi në gjendje as aksidentalisht të harrojmë ndonjë parametër, as aksidentalisht të shtojmë një të tepërt.
Le të themi se kemi dhënë këtë interface iUser:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Krijoni një klasë User, e cila do të
implementojë këtë interface.