⊗ppOpIfPm 69 of 107 menu

Параметри в методите на интерфейси в ООП в 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, който ще имплементира дадения интерфейс.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне