假设我在一般的Global.as
文件中有一个变量,如下所示:
public static const test:String = "testString";
在另一个文件中,我想覆盖该变量。喜欢跟随:
在File1.as
:
override var test:String = "testStringUpdated";
当然这不起作用。有谁知道怎么做?
override
实际上是否可以这样使用override
?或者仅用于覆盖功能?
提前致谢。
答案 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
}
}