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


Автор: darkness 28.2.2007, 08:42
По докам пятого ПХП вычитал что он предоставляет возможность использовования статических методов  (static), 
как я понимаю и "::" и static позволяют использование метода без создания самого объекта класса. В чём их различие?

Автор: Bikutoru 28.2.2007, 09:27
Цитата(darkness @  28.2.2007,  09:42 Найти цитируемый пост)
как я понимаю и "::" и static позволяют использование метода без создания самого объекта класса.

Ключевое слово static не позволяет использовать метод/свойство без создания объекта, оно позволяет объявить метод/свойство статическим. А вот для доступа используется операция ::

Автор: darkness 28.2.2007, 09:41
Bikutoru, разобрался - спасибо smile 

Автор: Всемогущий 28.2.2007, 09:56
как я понял без использования слова static не возможно использовать ::
Это так?

Автор: boombick 28.2.2007, 10:04
Цитата(Всемогущий @  28.2.2007,  10:56 Найти цитируемый пост)
как я понял без использования слова static не возможно использовать ::Это так?

нет =)

Автор: skyboy 28.2.2007, 18:08
Цитата(Всемогущий @  28.2.2007,  08:56 Найти цитируемый пост)
как я понял без использования слова static не возможно использовать ::

нет, можно вызывать, отталкиваясь от класса, и не-статические методы(тем более, что static только в пятой версии подоспело). вот только если в этих методах будет использовано $this, то оно будет вести не к классу и полям/методам класса(как в случае со статическими полями/методами), а к полям/методам объекта. т.к. объект не создан, очевидно будет ошибка времени выполнения.

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