现在的位置: 首页 > 综合 > 正文

AS3中命名空间使用要点

2018年02月02日 ⁄ 综合 ⁄ 共 493字 ⁄ 字号 评论关闭

最近利用命名空间来优化框架接口的可见性,当命名空间应用于setter和getter方法时,有点问题。

public function get data():Object
{
	return _data;
}
MaliuLib function set data(value:Object):void
{
	_data = value;
}

上面的MaliuLib是我自己的定义的命名空间,上面的代码就是同一个data属性的setter、getter方法,分别使用不同命名空间修饰

以下调用setter的地方

use namespace MaliuLib;
myObj.data = someData;

在调用setter的地方却编译不通过,提示编译错误“data为只读属性”

按道理,使用use namespace开启了MaliuLib的命名空间,就应该没错了啊,可就是编译不通过

稍作修改

use namespace MaliuLib;
myObj.MaliuLib::data = someData;

这样就能顺利编译通过了。

结论:同一个属性的setter和getter方法使用不同命名空间修饰时候,调用方法时候需要完全限定名的写法调用该方法,否则会编译报错

抱歉!评论已关闭.