Зачем в типе возвращаемого значения указывать интерфейс

Рейтинг: 0Ответов: 1Опубликовано: 25.04.2023

Есть вот такой кусок кода класса

public function createCellPhone(): Phone
{
    return new CellPhone();
}

И сам интерфейс

interface Phone
{
 public function call();
}

В createCellPhone указан тип возвращаемого значения интерфейс. Зачем?

Ответы

▲ 0Принят

Объявления типов могут использоваться для аргументов функций, возвращаемых функцией значений и для свойств класса. Они используются во время исполнения для проверки, что значение имеет точно тот тип, который для них указан.

В противном случае будет выброшено исключение TypeError... которое разработчик теоретически может перехватить и реализовать другой сценарий обработки для исключительного случая.

Это общее описание...

В вашем тривиальном случае, ясно, что функция гарантированно возвратит нужный тип, поэтому указание возвращаемого типа здесь не что иное, как правило хорошего тона. В любой продвинутой среде разработки, всего лишь взглянув на прототип функции - разработчик сразу же видит, что данная функция гарантированно возвратит требуемый интерфейс..., без исключений!