![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
Привет всем. У меня назрел такой вопрос(наверное я чего не доучил, незнаю):
Как можно из функции объявленной в классе как из static function обратиться к переменной и функции этого же класса, объявленной без static? Буду очень признателен за помощь ![]()
__________________
Peace !!! |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
А, точно, спасибо большое!
__________________
Peace !!! |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 528
|
Если ваша static функция работает с экземпляром класса - то для чего она объявлена как static?
|
|
|||||
|
стервочка (я мужик)
|
Stargazer, а разве не все методы в принципе работают с экземплярами?
|
|
|||||
|
Регистрация: Nov 2008
Сообщений: 528
|
Не все.
Статические методы работают только с теми переменными и методами, которые объявлены как статические. Статические переменные создаются один раз на весь класс (а не на каждый экземпляр). С точки зрения логики - статические методы выполняют какие-то операции, которые имеют отношение к вашему классу в целом, а не к какому-то его конкретному экземпляру. |
|
|||||
|
стервочка (я мужик)
|
Stargazer, спасибо, что прочитали лекцию, о том, что такое статические методы, которые сами, по сути, тоже являются экземплярами классов, которые тоже можно передавать как аргументы в другие статические методы.
а теперь внимание вопрос: класс Math тоже проводит операции с самим классом? |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 528
|
BlooDHounD, я почти ничего не понял из того, что вы написали.
У меня вопрос был такой: для чего автор объявил метод статическим, если он собирается применять его к экземпляру? В чём достоинство такого подхода, в чём смысл? Вот и всё, что я хотел узнать. Насчёт класса Math могу ответить, что сам этот класс являет собой контейнер, объединяющий методы для математических вычислений. Поскольку его роль сводится только к роли контейнера - то все его методы статические. При этом экземпляр класса Math никогда не создаётся. Итог: методы статические и они не работают с экземпляром. Не вижу здесь ничего необычного. |
|
|||||
|
.
|
Как можно применить метод к чему-то? Я всегда подозревал, что метод можно только вызвать, передав, по желанию, в него аргументы. Расскажите, пожалуйста, подробнее про применение методов в AS3 в общем и применении методов к экземплярам, в частности.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|