Глобальный к чему?
Если вы хотите объявить переменную, которая является «глобальной» для класса; Вы можете просто использовать любую переменную:
public var myClassGlobal : Object = new Object();
Эта переменная будет доступна в любом месте класса; и поскольку я сделал его общедоступным, он также доступен для любых классов, которые могут получить доступ к экземпляру этого класса. Вы бы получили к нему доступ так:
trace(myClassInstance.myClassGlobal);
Если вы хотите объявить переменную, которая является «глобальной» для приложения Flex, вы можете объявить переменную в основном файле приложения:
public var myFlexApplicationGlobal :Object = new Object():
Вы можете получить доступ к этому значению в любом месте вашего кода, используя FlexGlobals.topLevelApplication . Примерно так:
trace((FlexGlobals.topLevelApplication as myMainApplicationFile).myFlexApplicationGlobal);
Подобный подход обычно считается инкапсуляцией нет-нет; потому что это дает вашим классам зависимость от основного файла приложения и сводит к минимуму повторное использование. Как правило, этого мы стараемся избегать.
Вы можете создать статическую переменную и получить к ней доступ в любом месте, используя класс. Статические переменные не привязаны к экземпляру класса:
public static var myStaticGlobal :Object = new Object():
Вы бы получили к нему доступ так:
trace(MyClassWithStaticVariable.myStaticGlobal);
Вы также можете создать класс Singleton с вашими глобальными переменными и использовать каркас, такой как Swiz или RobotLegs, для внедрения этого класса в классы, которые в нем нуждаются. Быстрый поиск в Google должен раскрыть вам информацию о создании Singletons во Flex; и есть много дискуссий за и против синглетонов в рамках большего сообщества программистов ..