Parameetrid liideste meetodites OOP-s PHP-s
Liideste meetodite kirjeldamisel on vaja määrata mitte ainult meetodite nimed, vaid ka nende poolt vastuvõetavad parameetrid.
Vaatame näidet. Olgu meil antud liides iMath,
mis kirjeldab klassi matemaatiliste tehete
liitmiseks, lahutamiseks, korrutamiseks
ja jagamiseks. Olgu see liides selline:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Praegu meie liidese meetodid ei võta vastu ühtegi parameetrit. Ja tegelikult ka klassi meetodid, mis seda liidest realiseerivad, ei tohi vastu võtta parameetreid, muidu tekib viga.
Määrame nüüd meie liidese meetodite parameetrid:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Kirjutame nüüd meie liidese realiseeringu:
<?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;
}
}
?>
Kui proovida meie klassis määrata teistsugune parameetrite arv - meil see lihtsalt ei õnnestu: PHP annab vea. Seega me ei suuda kogemata unustada mingit parameetrit ega kogemata lisada liigset.
Olgu meil antud selline liides iUser:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Tehke klass User, mis
realiseerib antud liidest.