PHP-de OOP-da interfeýs metotlarynyň parametrleri
Interfeýslerde metotlary beýan edenimizde, diňe metotlaryň adlaryny däl, eýsem olaryň kabul edýän parametrlerini hem görkezmek zerur.
Geliň mysal üçinden göreli. Bizde goşmaÿ, aÿryş, köpeltme we
boleÿ amallary üçin klas beýan edýän iMath interfeýsi bar
bolsun. Bu interfeýs şeýle görünmelidir:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Häzir interfeýsimiziň metotlary hiç hili parametr kabul etmeÿär. Aslynda, bu interfeýsi amala aÿryrýan klassyň metotlary hem parametr kabul etmez ýaly bolmaly, ýogsa ýalňyşlyk bolar.
Geliň interfeýsimizdeki metotlaryň parametrlerini görkezeliň:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Indi interfeýsimiziň amala aÿrylyşyny ýazalyň:
<?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;
}
}
?>
Eger klasymyzda başga sany parametr berjek bolsaÿdyÿ, biz muny edip bilmezdik: PHP ýalňyşlyk bildirer. Şeýlelik biz, ýagdaÿ bir parametri ýatdan çykarmaga hem, artykmaç parametr goşmaga hem mümkinçiliksiÿ bolarys.
Bizde şeýle iUser interfeýsi bar bolsun:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Bu interfeýsi amala aÿrýan User klasyny ýasaÿň.