Статические переменные могут выполнить это.
Вы можете объявить переменную как internal static
, чтобы другие классы в том же пакете могли использовать ее. Или вы можете объявить его как public static
, чтобы все классы в вашем проекте могли использовать его, даже если они находятся в другом пакете.
В приведенном ниже коде myNum1
доступен для классов в одном пакете, тогда как myNum2
доступен из любого места.
package myApp
{
public class Main extends Sprite
{
internal static var myNum1:int = 1;
public static var myNum2:int = 2;
}
}
Пример доступа из того же пакета:
package myApp
{
public class ClassInSamePackage
{
public function doSomething():void
{
trace(Main.myNum1); // traces 1
trace(Main.myNum2); // traces 2
}
}
}
Пример доступа из другого пакета:
package otherApp
{
import myApp;
public class ClassInDifferentPackage
{
public function doSomething():void
{
trace(Main.myNum1); // error!
trace(Main.myNum2); // traces 2
}
}
}
Внутренний на самом деле является модификатором доступа по умолчанию в AS3, поэтому написание internal static var
так же, как писать static var
. Но, вероятно, лучше написать internal static var
, чтобы все было ясно.
PS Из вашего примера неясно, поместили ли вы два класса в один или два файла. Если вы разместили их оба только в одном файле, имейте в виду, что один файл AS может содержать только один класс.