Показать сообщение отдельно
Старый 26.01.2013, 23:33
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 1  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Экземпляр второго класса (ВторойКласс) содержит статическую переменную staticVar.
Экземпляр не может содержать статическую переменную. Статическая переменная принадлежит классу, а не экземпляру. Для того, чтобы изменить значение статической переменной, нужно обратиться к ней из любого места кода через класс:
Код AS3:
ClassName.staticVar = 10;
В ActionScript классы мало отличаются от других объектов. Точнее - они являются такими же объектами, как и все остальные. И для них действуют те же правила, что и для экземпляров. Возьмем пример:
Код AS3:
var a:Sprite = new Sprite();
var b:Sprite = new Sprite();
 
a.x = 10;
b.x = 15;
Вас же не удивляет, что для того чтобы подвинуть объект a нужно обратиться к самому объекту а? И то же самое работает и с b - хотим его подвинуть, значит меняем его свойство.
Так же точно все и с классами - хотим поменять свойство класса - обращаемся к классу. А не к экземпляру или еще чему-то.

Вот еще одна аналогия:
Представьте что на столе у вас лежит чертеж самолета. Обычный самый чертеж, карандашом на бумаге. И тут же рядом разбросаны детали для модели такого самолета. И мы с вами берем детали, смотрим на чертеж и собираем одну за одной модели самолетов.

Так вот отношение класса и экземпляра в ActionScript - оно точно такое же как отношение чертежа и модели самолета в этом примере. То есть если вы измените чертеж (дорисуете еще одно кресло в кабине пилота, например), то те модельки, которые мы уже собрали от этого не изменятся. И то же с моделями - поменяв модель мы никак не меняем чертеж. И все же чертеж при этом остается документом, по которому можно собирать новые модели и одновременно остается таким же объектом, как и сами модели.


Цитата:
Статическое свойство как и обычное свойство лучше использовать с модификатором доступа private.
Ерунду пишете
__________________
...вселенская грусть