Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Нюансы ООП Вызов обычных методов как статических.


Автор: PsiMagistr 29.1.2017, 17:41
Ребята, я ничего не понимаю...


Код

class A{
    public function Primer(){
        echo 'Обычный метод (не статический)';
    }
}


A::Primer(); //Не понятно почему, но работает



Работает. А почему? Метод обычен.

А статические методы я могу почему-то вызвать и у объекта (не только у класса).

Автор: vpf 30.1.2017, 22:02
И это нормально, если у тебя 2 объекта одного класса, то статический метод можно вызвать из 3х мест, из класса и из каждого объекта.
Но вызывать статические методы из объектов не рекомендуется чтобы потом не гадать, отчего это разные объекты сработали так, как будто каждый из них сделал это дважды...

Автор: PsiMagistr 31.1.2017, 13:48
Цитата(vpf @ 30.1.2017,  22:02)
И это нормально, если у тебя 2 объекта одного класса, то статический метод можно вызвать из 3х мест, из класса и из каждого объекта.
Но вызывать статические методы из объектов не рекомендуется чтобы потом не гадать, отчего это разные объекты сработали так, как будто каждый из них сделал это дважды...

Никогда бы не подумал... Спс... А я то считал, что это запрещено... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)