Страницы

Поиск по вопросам

суббота, 1 июня 2019 г.

Для чего используется static в операторе ::?

Для чего используется static в операторе :: ?
return static::Find($id);


Ответ

Ключевое слово static используется для позднего статического связывания, т.е. в классах унаследованных от этого можно будет определить свой статический метод Find() и будет вызываться именно он, а не метод текущего класса. Если вы вместо static укажите self, то будет вызван статический метод Find() текущего класса, даже если в унаследованных классах вы определите собственные статические методы Find().
Так как статические методы принадлежат не объектам, а классам - приходится разруливать ситуацию с их переопределением при помощи отдельных ключевых слов.

Комментариев нет:

Отправить комментарий