Спустя 10 минут, 29 секунд (4.07.2010 - 09:31) Lenarfate написал(а):
потому что $this динамический указатель! статичные же методы вызываются посредством двух знаков двоеточия.вот так ::
Спустя 11 минут, 37 секунд (4.07.2010 - 09:43) gromitsu написал(а):
Неправильно выразился. Как все выражается и вызывается я знаю. Это как на самолете летать: можно быть асом но не знать за счет чего самолет подымаеться вверх и т.п. Я давно и удачно программирую с ООП. Просто меня спросили почему указатель $this в статических методах недоступен. И хотелось быть дать подробный ответ.
Спустя 9 минут, 47 секунд (4.07.2010 - 09:53) Lenarfate написал(а):
Статические методы класса могут быть вызванны непосредственно у класса, а не через один из его объектов. Соответственно, указатель $this в статических методах недоступен.
Фактически, объявление класса со статическими методами является, в большей мере, методом группировки функций и общих для них констант и переменных.
Фактически, объявление класса со статическими методами является, в большей мере, методом группировки функций и общих для них констант и переменных.
Спустя 3 часа, 51 минута, 37 секунд (4.07.2010 - 13:44) linker написал(а):
Потому что $this позволяет внутри объекта сослаться на самого себя, для доступа к своим полям и методам. Все обычные методы класса наследуются (принадлежат) создаваемым экземплярам этого класса, а статические поля и методы принадлежат исключительно классам. Если вы хотите получить доступ к статическим полям или методам класса, то используйте
self::$MyField;self - указывает на класс, $this - указывает на объект.
или
self::MyMethod();
Спустя 24 минуты, 23 секунды (4.07.2010 - 14:09) glock18 написал(а):
Цитата (gromitsu @ 4.07.2010 - 06:43) |
Это как на самолете летать: можно быть асом но не знать за счет чего самолет подымаеться вверх и т.п. Я давно и удачно программирую с ООП. Просто меня спросили почему указатель $this в статических методах недоступен. И хотелось быть дать подробный ответ. |
несочетаемые вещи совсем. летчик ведь знает как и за что дергает.
По сабжу уже все сказали тут. А что касается несочетаемости - ни за что не поверю, что не зная этого, можно давно и удачно программировать в ооп
Спустя 18 часов, 11 минут, 25 секунд (5.07.2010 - 08:20) Guest написал(а):
glock18 Это ваше право не верить.
А так всем спасибо.
А так всем спасибо.