Պարամետրերը ինտերֆեյսների մեթոդներում OOP-ում PHP-ում
Ինտերֆեյսներում մեթոդները նկարագրելիս անհրաժեշտ է նշել ոչ միայն բուն մեթոդների անունները, այլև նրանց կողմից ընդունվող պարամետրերը:
Դիտարկենք օրինակով: Ենթադրենք մենք ունենք
iMath ինտերֆեյս, որը նկարագրում է դաս
մաթեմատիկական գործողությունների համար՝ գումարում, հանում,
բազմապատկում և բաժանում: Ենթադրենք, որ այդ ինտերֆեյսը
ունի հետևյալ տեսքը.
<?php
interface iMath
{
public function sum();
public function subtract();
public function multiply();
public function divide();
}
?>
Այժմ մեր ինտերֆեյսի մեթոդները չեն ընդունում ոչ մի պարամետր: Եվ իրականում, դասի մեթոդները, որը կիրականացնի այս ինտերֆեյսը, նույնպես չպետք է ընդունեն պարամետրեր, հակառակ դեպքում կառաջանա սխալ:
Եկեք նշենք մեր ինտերֆեյսի մեթոդների պարամետրերը.
<?php
interface iMath
{
public function sum($a, $b);
public function subtract($a, $b);
public function multiply($a, $b);
public function divide($a, $b);
}
?>
Հիմա գրենք մեր ինտերֆեյսի իրականացումը.
<?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;
}
}
?>
Եթե փորձենք մեր դասում նշել տարբեր քանակի պարամետրեր - մեզ դա պարզապես չի հաջողվի. PHP-ն կտա սխալ: Այսպիսով, մենք չենք կարող ոչ պատահականորեն մոռանալ որևէ պարամետր, ոչ էլ պատահականորեն ավելացնել ավելորդ պարամետր:
Ենթադրենք մեզ տրված է հետևյալ iUser ինտերֆեյսը.
<?php
interface iUser
{
public function setName($name);
public function getName();
public function setAge($age);
public function getAge();
}
?>
Ստեղծեք User դաս, որը կիրականացնի
տրված ինտերֆեյսը: