Flash, ActionScript 3: определить переменную как переменную от ее создателя без постоянного использования creator.var
Я пытаюсь разделить мой код по классам. но есть проблема, которая действительно беспокоит меня. когда я создаю класс для функций, я даю свою собственную стадию. как это
dragf:Dragfunctions = new Dragfunctions(this)
и в классе я использую это
var stage:Object;
public function Dragfunctions(stage:Object)
{
this.stage = stage;
}
Как вы можете видеть, теперь я могу вызывать переменную рабочей области, используя stage.var1 = "hi", но когда мне нужно отрегулировать эту переменную много раз, она становится довольно грязной...
есть способ сказать, что когда я вызываю var1, он знает, что я имею в виду stage.var1 без необходимости вызывать stage. его:
var var1 = stage.var1
а затем с помощью
stage.var1 = var1
но это тоже довольно неудобно, есть ли лучший способ?
1 ответ
Да, используйте методы получения и установки (которые обеспечивают семантику, подобную полям, но позволяют вам выполнять пользовательскую логику при использовании присваивания):
function set var1(val:SomeType):void
{
stage.var1=val;
}
function get var1():SomeType
{
return stage.var1;
}
function doStuff():void
{
var1=new SomeType(); //this results in call to "set" method
var st:SomeType=var1; //this results in call to "get" method
}