Flash, ActionScript 3: определить переменную как переменную от ее создателя без постоянного использования creator.var - PullRequest
0 голосов
/ 03 июля 2010

Я пытаюсь разделить мой код по классам. но есть проблема, которая действительно беспокоит меня. когда я создаю класс для функций, я даю свою собственную стадию. как это

dragf:Dragfunctions = new Dragfunctions(this)

и в классе я использую это

var stage:Object;

    public function Dragfunctions(stage:Object) 
    {
            this.stage = stage;
    }

как вы можете видеть, теперь я могу вызывать переменную рабочей области, используя stage.var1 = "hi" но когда мне нужно отрегулировать этот varable много раз, он становится довольно грязным ...

есть способ сказать, что когда я вызываю var1, он знает, что я имею в виду stage.var1 без необходимости вызывать stage. его:

var var1 = stage.var1 

, а затем с помощью

stage.var1 = var1 

но это тоже довольно неудобно, есть ли лучший способ?

1 Ответ

1 голос
/ 03 июля 2010

Да, используйте геттеры и сеттеры (которые предоставляют семантику, подобную полям, но позволяют выполнять пользовательскую логику при использовании присваивания):

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
}
...