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
}
Другие вопросы по тегам