2

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

public static const test:String = "testString";

在另一个文件中,我想覆盖该变量。可能像下面这样:

File1.as

override var test:String = "testStringUpdated";

当然这是行不通的。有谁知道如何做到这一点?

它实际上是否可能override并且override应该像这样使用?还是仅用于覆盖功能?

提前致谢。

4

1 回答 1

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
    }
}
于 2012-07-04T10:05:10.913 回答