【发布时间】:2011-03-24 16:43:00
【问题描述】:
假设我有一个类,其方法定义在公共、受保护或内部以外的命名空间中......
package com.foo.bar
{
import com.foo.my_name_space
public class bar
{
private var _vabc:String
private var _v123:String
protected function set123(val:String):void{
_v123 = val;
}
my_name_space function setABC(val:String):void{
_vabc = val;
}
}
}
现在我想在子类中扩展和覆盖它...
package com.foo
{
import com.foo.bar.bar
import com.foo.my_name_space
public class foo extends bar
{
override protected function set123(val:String):void{
super.set123(val);
}
.... ????? ...
}
}
很容易覆盖受保护的、公共的等方法,但是有没有办法覆盖命名空间 *my_name_space* 中定义的 setABC 方法?
我尝试了以下语法,似乎通过了 FlashBuilder 预编译器检查但不起作用。
use namespace my_name_space override function my_name_space::setABC(val:String):void
我尝试了许多其他语法组合,但大多数都没有通过预编译检查。 (许多有某种类型的命名空间错误)我觉得这是不可能的,但想知道是否有人有任何想法?
【问题讨论】:
-
你是如何声明你的命名空间的?我们可以看看代码吗?谢谢。
标签: flash actionscript-3 actionscript flex3 flex4