Flex不兼容的覆盖,错误?

时间:2011-09-30 13:30:50

标签: actionscript-3 flex flex3

我正在编写Flex DataGridColumn类的扩展。我想覆盖可编辑和可排序的属性,以便我可以在setter中调度一个事件。所以我从Adobe Docs中查找了方法签名(我使用的是Flex 3.5编译器):

语言版本:ActionScript 3.0

实施

public function get editable():Boolean
public function set editable(value:Boolean):void
public var sortable:Boolean

我应该能够覆盖可编辑的setter,并使用setter覆盖sortable的功能。

在我的代码中我有:

public override function set editable(value:Boolean):void {
    super.editable = value;
    //code to dispatch event
}

public override function set sortable(value:Boolean):void{
   super.sortable = value;
   //code for event
}

但是我收到了#1023错误:不兼容的覆盖。我在方法签名上尝试了各种组合,但这些组合与上面文档中的完全相同。

是什么给出的?我错过了一些明显的东西吗?

编辑:显然文档与实际源代码不符。可编辑和可排序都是DataGridColumn.as中的变量。无论如何,我可以使用setter / getter覆盖它们而无需修改基类? DataGridColumn.as来源:

public var editable:Boolean = true;
public var sortable:Booelan = true;

1 个答案:

答案 0 :(得分:1)

您不能将变量覆盖为属性(get / set)。 BTW,editablesortable成为SDK 4.0中的属性。