НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗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
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить