Зачем в типе возвращаемого значения указывать интерфейс
Есть вот такой кусок кода класса
public function createCellPhone(): Phone
{
return new CellPhone();
}
И сам интерфейс
interface Phone
{
public function call();
}
В createCellPhone указан тип возвращаемого значения интерфейс. Зачем?
Ответы (1 шт):
Объявления типов могут использоваться для аргументов функций, возвращаемых функцией значений и для свойств класса. Они используются во время исполнения для проверки, что значение имеет точно тот тип, который для них указан.
В противном случае будет выброшено исключение TypeError... которое разработчик теоретически может перехватить и реализовать другой сценарий обработки для исключительного случая.
Это общее описание...
В вашем тривиальном случае, ясно, что функция гарантированно возвратит нужный тип, поэтому указание возвращаемого типа здесь не что иное, как правило хорошего тона. В любой продвинутой среде разработки, всего лишь взглянув на прототип функции - разработчик сразу же видит, что данная функция гарантированно возвратит требуемый интерфейс..., без исключений!