Страницы

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

пятница, 13 марта 2020 г.

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

#php


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

return static::Find($id);

    


Ответы

Ответ 1



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

Ответ 2



С помощью '::' мы обращаемся к статическим методам класса. Фишка в том, что, обращаясь к статической функции, мы не инициализируем объект класса.

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

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