Parametri interfeisu metodēs OOP PHP
Aprakstot metodes interfeisos, ir nepieciešams norādīt ne tikai pašu metožu nosaukumus, bet arī to pieņemtos parametrus.
Apskatīsim to ar piemēru. Pieņemsim, ka mums
ir dots interfeiss iMath, kas apraksta klasi
matemātiskām operācijām: saskaitīšanai, atņemšanai,
reizināšanai un dalīšanai. Ļaujiet šim interfeisam
izskatīties šādi:
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Šobrīd mūsu interfeisa metodes nepieņem nevienu parametru. Un patiesībā arī klases metodes, kuras realizēs šo interfeisu, arī nedrīkstēs pieņemt parametrus, pretējā gadījumā radīsies kļūda.
Norādīsim metožu parametrus mūsu interfeisā:
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Tagad uzrakstīsim mūsu interfeisa realizāciju:
<?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;
}
}
?>
Ja mēs mēģinātu mūsu klasē iestatīt citu parametru skaitu - mums tas vienkārši neizdotos: PHP izmestu kļūdu. Tādējādi mēs nevarēsim ne nejauši aizmirst kādu parametru, ne nejauši pievienot lieku.
Pieņemsim, ka mums ir dots šāds interfeiss iUser:
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Izveidojiet klasi User, kas
realizēs šo interfeisu.