2009-07-25 8 views

回答

0

基本没有。决赛是最后的决定,所以不能延长。您可以创建一个与Number类具有相同方法的类,但它仍不会BE a就编译器而言。

说实话,应该从来没有是你应该需要从这些类扩展的原因。

至于代理服务器去,你可以考虑做一个工厂类返回预格式化的字符串/号码例如:

var myString:String= StringFactory.asCurrency("50"); // "$50.00" 
+0

有很多原因希望一个班级像原始人一样行事。一个简单的例子就是希望拥有一个Number的子类(如uint),它具有一个受限制的值集合,或者一个String的子类必须具有给定的长度。 你可以通过代理pseduo-subclass数组来将额外的行为放入数组访问运算符 - 我正在寻找一种方法来执行类似的任务。 – JMHNilbog 2009-07-26 15:03:30

0

如已经groady说,这是不可能的......也没有你描述的场景......但是,在运行时,类型检测机制非常简单...查找traits对象,并检查它是否匹配类/子类,或者它是否明确实现和接口..在任何其他情况下,你将会有错误...你可以使用代理来实现你自己的数组访问...但是,它们不会是数组,因此将它们传递给一个需要Array的函数会导致错误...另外,在AS3中,你不能超载ope老师,所以你真的会很难......你可以创建一个数值类,但是然后操纵它将需要方法作为加,减等等......然而,有一个​​......仍然,这将没有完全解决你的问题,因为你无法控制对象对操作符的响应方式......如果你在ECMA兼容模式下编译,你很可能会绕过严格的运行时类型检查,但另一方面,你将失去很多的速度...最好的事情大概真的是创建必须通过方法,而不是运营商所操纵......不是太舒服的一类,但最好的AS3优惠...

格尔茨

back2dos

相关问题