Взаимодействие статических классов с экземплярами не статических
Здравствуйте. Хотелось бы услышать совет от более опытных АС3-программистов.
Дело в том, что несмотря на имеющийся опят программирования как на АС3, так и на других ООП языках, меня не перестает мучить один вопрос: как же правильно организовать взаимосвязь экземпляров не статичных классов, с классами, которые не имеют экземпляров и содержат только статические методы и свойства. Ниже рассматриваю вопрос подробнее, на примере моего кода: Класс Root.as (DocmentClass): Код AS3:
Код AS3:
P.S Извиняюсь за большое кол-во кода, но по другому не выходило. |
Можно я буду наглым и прочитаю только название топа?
А теперь расскажите подробнее про "статические классы" и "не статические классы". В чем тут подвох? ЗЫ. А! Я забыл спросить. Как Вы их различаете? |
я тоже особо не читал, согласен с предыдущим оратором.
Цитата:
|
Цитата:
Знаю, что формулировка неправильная, но не знаю я, как еще их назвать. Добавлено через 3 минуты Цитата:
|
ага, тут надо разобраться еще, что такое оператор new ?
что он возвращает? (точно не возвращает объект) собственно, я ничего против не имею, делайте как угодно. только если все пихать в один класс, то получится anti-pattern. Декомпозиция, инкапсуляция, полиморфизм и фсьо такое наш выбор. ) |
Цитата:
Но в runtime режиме приходится обламывать ненужное инстанцирование. Теперь ответьте, как понять, не забредая в документацию, что класс не может быть инстанцирован и, по-вашему он "статический"? Ну невозможно в конкретный момент времени определить, что класс под воздействием 1076 (конкретно Math) или 2012 (более общий случай), не запустив приложение. Как же тогда рассуждать о "статических" и "нестатических" классах? По сути вопроса. Класс Connection подвешен в абсолютном ваккууме и абсолютно ничего не знает о других (объектах). Передайте ему ссылку на экземпляр чего-нибудь, что имеет ссылку (можно даже опосредованную) на экземпляр mcContainer. Например, самое простое, в Connection передать ссылку на сам mcContainer. Также можно закинуть ссылку на stage, а там по определенным правилам вытащить со stage сам mcContainer. Добавлено через 11 минут Цитата:
|
Цитата:
|
Прошу прощения, но если я не создаю экземпляров класса, то класс нужно считать статическим? Тогда, в принципе, не будет существовать его экземпляров, хехе, если их не создавать.
С другой стороны, если в конструкторе класса запрещено инстанцирование, то как понять Вышу фразу "Класс то может [... быть инстанцирован]"? |
Часовой пояс GMT +4, время: 17:55. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.