Какая разница между public function и public static function? Гору литературы прочитал по ООП, я вроде работаю не первый год, но никак до меня не доходит static. Вот все остальное доходит, а статик нет. Зачем его используют?) Я вроде уже и забыл про это, обычно пишу в ларавеле всегда:public function xxx(
А тут смотрю код в курсе, и вижу среди точно таких же функций, одну такую:public static function add(
Его функция в коде используется для добавления комментария на сайте. А почему бы ее не сделать просто:public function add(
Что в этом случае пойдет не так? Спасибо!

21 Авг 2019 в 07:00
164 +1
0
Ответы
1

Разница между public function и public static function заключается в том, что методы объявленные как static принадлежат классу в целом, а не конкретному объекту этого класса.

Когда вы объявляете метод как public function add(), этот метод будет принадлежать конкретному объекту этого класса. То есть, для вызова этого метода нужно сначала создать объект класса, а затем вызывать метод через этот объект.

С другой стороны, когда вы объявляете метод как public static function add(), этот метод будет принадлежать самому классу, а не его объектам. Это означает, что вы можете вызывать этот метод напрямую через класс, без создания объекта. Например, MyClass::add().

Использование static методов имеет смысл, если данная операция не зависит от состояния конкретного объекта и может быть выполнена независимо от создания объекта. В вашем примере, метод add() используется для добавления комментария на сайте, что может быть сделано независимо от создания объекта.

Таким образом, если метод не требует доступа к состоянию объекта, его объявление как static может быть более эффективным и логичным выбором.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 700 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир