Actionscript 3 Actionscript类扩展并实现相同名称但不同类型的getter/setter属性
在ActionScript3.0中,我想扩展ClassA并实现InterfaceB。当ClassA和接口B中都有“data”属性,但类型不同时,就会出现问题。我写道Actionscript 3 Actionscript类扩展并实现相同名称但不同类型的getter/setter属性,actionscript-3,Actionscript 3,在ActionScript3.0中,我想扩展ClassA并实现InterfaceB。当ClassA和接口B中都有“data”属性,但类型不同时,就会出现问题。我写道 public class MyClass extends ClassA implements InterfaceB { private var _data:Object; public function get data():Object { return _data; } pub
public class MyClass extends ClassA implements InterfaceB {
private var _data:Object;
public function get data():Object {
return _data;
}
public function set data(value:Object):void {
_data = data;
}
}
Flex Builder不会编译它,并要求我重写在ClassA中定义的getter/setter方法,但重写ClassA中的数据属性不是我想要的。即使我将覆盖添加到这两个方法中,编译器也会抱怨覆盖不兼容,因为ClassA中的数据属性是String类型。这在ActionScript 3.0中是不可能的。您可以做的最好的事情是类型到对象或不同数据类型共享的接口,并在派生类的setter中添加断言。这在ActionScript 3.0中是不可能的。您可以做的最好的事情是类型到对象或不同数据类型共享的接口,并在派生类的setter中添加断言