覆盖其他类的变量

时间:2012-07-04 09:51:54

标签: actionscript-3

假设我在一般的Global.as文件中有一个变量,如下所示:

public static const test:String = "testString";

在另一个文件中,我想覆盖该变量。喜欢跟随:

File1.as

override var test:String = "testStringUpdated";

当然这不起作用。有谁知道怎么做?

override实际上是否可以这样使用override?或者仅用于覆盖功能?

提前致谢。

1 个答案:

答案 0 :(得分:2)

一般来说,你不会覆盖'变量;只需在子类中更改它们的值(构造函数就是这个的好地方)。

public function File1()
{
    test = "testStringUpdated";
}

至于字面覆盖,你可以覆盖setter和getter。

只需将变量设置为基类中的setter / getter组合,例如:

class Base
{
    private var _test:String = "testString";

    public function get test():String
    {
        return _test;
    }

    public function set test(value:String):void
    {
        _test = value;
    }
}

然后在你的子类(File1)中,你可以改变如何获得test的值,例如:

class File1 extends Base
{
    override public function get test():String
    {
        return super.test + "Updated"; // testStringUpdated
    }
}