Flash,ActionScript 3:将变量定义为其创建者的变量,而不必经常使用creator.var

时间:2010-07-03 02:30:04

标签: flash actionscript-3 variables composition

我试图在课堂上分割我的代码。但是有一个问题真正困扰我。当我为函数创建一个类时,我正在给自己的舞台。像这样

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 个答案:

答案 0 :(得分:1)

是的,使用getter和setter(提供类似字段的语义,但允许你在使用赋值时执行自定义逻辑):

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
}