Параметры в методах интерфейсов в ООП в 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
, который будет
реализовывать данный интерфейс.