Почему так? По-моему, выигрыш в скорости есть, поэтому, жить с ними проще, может, их только и использовать? Или я не знаю каких-то нюансов?
Если вопрос поставлен неккоректно, не ругайтесь

За более полные ответы, щедро раздам плюсы. Заранее спасибо

Спустя 12 минут, 6 секунд (8.04.2011 - 21:40) neadekvat написал(а):
Как ты заметил - статические функции не требует для работы создания объекта. А следовательно, использовать, например, $this, уже нельзя. Соответственно, и доступ у метода есть только к другим методам - члены, кроме статических, уже недоступны. А статические члены, как известно, имеют единое значение на все объекты.
Если абстрактно - есть у нас веник, совок, мусорное ведро, мусор. Так вот, вы можете потребовать подмести мусор. Но нормально управлять процессом, подмести там, где грязно, собрать все это на совок и выборосить - уже не получится. Или получится, но через такую ж, что упоминать об этом больше не буду.
Если абстрактно - есть у нас веник, совок, мусорное ведро, мусор. Так вот, вы можете потребовать подмести мусор. Но нормально управлять процессом, подмести там, где грязно, собрать все это на совок и выборосить - уже не получится. Или получится, но через такую ж, что упоминать об этом больше не буду.
Цитата (alex12060 @ 8.04.2011 - 22:28) |
За более полные ответы, щедро раздам плюсы |
Вот сколько сижу тут - никак не пойму. Почему на этом такой акцент всегда делают?
Спустя 15 минут (8.04.2011 - 21:55) Trianon написал(а):
alex12060
статический метод - метод, относящийся к классу в целом.
динамический метод - метод, присущий конкретному объекту.
собственно, статический метод мало чем отличается от обычной функции, разве тем, что позволяет напрямую работать со статическими свойствами данного класса (со свойствами конкретного объекта он работать уже не может) и поэтому позволяет чуть более аккуратно назначать имена статическим переменным.
Сила же ООП в динамических методах.
И если задача позволяет обойтись статическими, по большому счету ей вообще классы не нужны.
статический метод - метод, относящийся к классу в целом.
динамический метод - метод, присущий конкретному объекту.
собственно, статический метод мало чем отличается от обычной функции, разве тем, что позволяет напрямую работать со статическими свойствами данного класса (со свойствами конкретного объекта он работать уже не может) и поэтому позволяет чуть более аккуратно назначать имена статическим переменным.
Сила же ООП в динамических методах.
И если задача позволяет обойтись статическими, по большому счету ей вообще классы не нужны.
Спустя 2 минуты, 2 секунды (8.04.2011 - 21:57) twin написал(а):
Цитата | ||
Вот сколько сижу тут - никак не пойму. Почему на этом такой акцент всегда делают? |
Кто???
По теме. Очередная фишка в плане - "я не знаю что такое стиральная машина, но вот говорят, что там такая же стиральная доска, только круглая."
Статические методы предназначены для статики. Динамические - для динамики.
Класс, который определен, как статический (ну и методы тоже), работают как контейнер для функционала. Есть класс - получи результат.
Если ты работаешь с объектом, то их может быть туча в одном скрипте. С разными свойствами, но одинаковыми методами.
Изучи внимательно кто ис ху, тогда сам поймешь несостоятельность вопроса. Хотя любой вопрос очень полезен. Особенно когда в нем 99% ответа.
UPD Не успел((( Но очень букаф жалко, пусть будет два ответа

По теме. Очередная фишка в плане - "я не знаю что такое стиральная машина, но вот говорят, что там такая же стиральная доска, только круглая."
Статические методы предназначены для статики. Динамические - для динамики.
Класс, который определен, как статический (ну и методы тоже), работают как контейнер для функционала. Есть класс - получи результат.
Если ты работаешь с объектом, то их может быть туча в одном скрипте. С разными свойствами, но одинаковыми методами.
Изучи внимательно кто ис ху, тогда сам поймешь несостоятельность вопроса. Хотя любой вопрос очень полезен. Особенно когда в нем 99% ответа.
UPD Не успел((( Но очень букаф жалко, пусть будет два ответа
Спустя 3 минуты, 49 секунд (8.04.2011 - 22:01) neadekvat написал(а):
Цитата (twin @ 8.04.2011 - 22:57) |
Кто??? |
Да вот хотя бы цитатку выделил выше

Спустя 4 минуты, 5 секунд (8.04.2011 - 22:05) twin написал(а):
Скузми)) Действительно как то хреново вышло)))
Исправил.
Исправил.
Спустя 3 минуты, 11 секунд (8.04.2011 - 22:08) neadekvat написал(а):
Цитата (twin @ 8.04.2011 - 23:05) |
Скузми)) Действительно как то хреново вышло))) |
Коль, я не то имел в виду)) Слова "вот хотя б цитатку выделил" - это было не "ты бы хоть", а "да вот хотя б к примеру - я выше цитатку выделил")
Но исправленное, действительно, логичнее смотрится.
Спустя 46 минут, 50 секунд (8.04.2011 - 22:55) inpost написал(а):
neadekvat
У меня до этой подписи было: "Если хотите отблагодарить - ставте мне МИНУС! Я плохой, я злой, но у меня есть печеньки"
У меня до этой подписи было: "Если хотите отблагодарить - ставте мне МИНУС! Я плохой, я злой, но у меня есть печеньки"
Спустя 44 минуты, 44 секунды (8.04.2011 - 23:40) Trianon написал(а):
inpost
О! печеньки извлекать я еще не умею.
Только твороженные булочки.
)
а если серьёзно, кто-нибудь держит подписи открытыми?
я вижу их только в профиле.
О! печеньки извлекать я еще не умею.
Только твороженные булочки.

а если серьёзно, кто-нибудь держит подписи открытыми?
я вижу их только в профиле.
Спустя 6 минут, 28 секунд (8.04.2011 - 23:46) neadekvat написал(а):
Цитата (Trianon @ 9.04.2011 - 00:40) |
а если серьёзно, кто-нибудь держит подписи открытыми? |
Я держу. В общем-то, я даже не задумывался над этим - висит что-то и висит

Спустя 41 минута, 58 секунд (9.04.2011 - 00:28) inpost написал(а):
Trianon
А я и не знал, что можно убрать
У меня сейчас -40, из них где-то 30 выдано за то, что у меня в подписи было написано, чтобы ставили минусы =)
А я и не знал, что можно убрать

У меня сейчас -40, из них где-то 30 выдано за то, что у меня в подписи было написано, чтобы ставили минусы =)
Спустя 7 часов, 19 минут, 44 секунды (9.04.2011 - 07:48) alex12060 написал(а):
Почему я написал про +, так потому, что я хочу за хороший ответ давать людям положительные значения в карму. Возможно, написав это я как-то прибамбахал, но все-же...
А так, спасибо, я немного определил для себя значения, поэтому, еще в нете почитаю
А так, спасибо, я немного определил для себя значения, поэтому, еще в нете почитаю

Спустя 1 минута, 40 секунд (9.04.2011 - 07:50) inpost написал(а):
alex12060
А не лучше 1 рубль?!
Так хоть будет минимум окупать потраченное время =)
А не лучше 1 рубль?!

Спустя 3 часа, 48 минут, 59 секунд (9.04.2011 - 11:39) alex12060 написал(а):
inpost

Спустя 5 дней, 6 часов, 9 минут, 46 секунд (14.04.2011 - 17:48) Гость_Greg1978 написал(а):
Статические методы применяются для интерфейсов класса. В php 5.2 и ниже невозможно было вызвать метод динамически например $static::--- потому и применялись статические методы. Фактически статический метод это часть алгоритма перенесённая в класс, соответственно инкапсулированная сложность и методика изменений кода
Спустя 12 дней, 6 часов, 21 минута, 8 секунд (27.04.2011 - 00:09) SlavaFr написал(а):
Цитата (Гость_Greg1978 @ 14.04.2011 - 14:48) |
Статические методы применяются для интерфейсов класса. В php 5.2 и ниже невозможно было вызвать метод динамически например $static::--- потому и применялись статические методы. Фактически статический метод это часть алгоритма перенесённая в класс, соответственно инкапсулированная сложность и методика изменений кода |
1)немогу найти взаимосвязи между статическими методами и интерфейсом
2)5.2 и ниже мог вызывать статические методы просто другим синтаксисом
3)С остальным согласен. Просто если ООП, то нечего функциям и переменным в глобальном пространстве болтатся, хотябы по причине упращенного поиска и логической пренадлежности.
Спустя 2 дня, 22 часа, 31 минута, 29 секунд (29.04.2011 - 22:41) Guest написал(а):
1)немогу найти взаимосвязи между статическими методами и интерфейсом
А подумай ... , если статический метод открытый он кто для отдельных классов ???
2)5.2 и ниже мог вызывать статические методы просто другим синтаксисом
Учись читать посты, неужели не видно что стоит переменная в синтаксисе вызова метода.
А подумай ... , если статический метод открытый он кто для отдельных классов ???
2)5.2 и ниже мог вызывать статические методы просто другим синтаксисом
Учись читать посты, неужели не видно что стоит переменная в синтаксисе вызова метода.
Спустя 1 день, 20 часов, 16 минут, 52 секунды (1.05.2011 - 18:58) SlavaFr написал(а):
Цитата (Guest @ 29.04.2011 - 19:41) |
А подумай ... , если статический метод открытый он кто для отдельных классов ??? |
подумал, вообще не понял что этим сказанно. и все еще не вижу зависимости статических методов с interface
Цитата (Guest @ 29.04.2011 - 19:41) |
5.2 и ниже мог вызывать статические методы просто другим синтаксисом Учись читать посты, неужели не видно что стоит переменная в синтаксисе вызова метода. |
да какая разница как это вызывается в 5.2 или через Reflection или при помощи call_ user_ method_array или просто call_user_function, возможность вызывать статический метод динамически пресутствовала с тех пор как в пхп статические методы были придуманы. на крайняк и eval это делал.
ты к стате не стесняйся, возми да зарегистрируйся на форуме.
Спустя 8 дней, 4 часа, 42 минуты, 10 секунд (9.05.2011 - 23:40) linker написал(а):
Муть какая-то.