2011-02-04 79 views
5

我有一个类SuperClass,它实现了一个接口,并实现了接口的所有公共方法。我有另一个类​​,延伸SuperClass。我不想让这些公共方法被错误地使用。这导致我的问题:使AS3/Flex类可扩展但不可实例化为对象?

我该如何防止SuperClass被实例化为一个对象?

布赖恩

更新:从下面的答案使用提示,解决办法是:

public function MyClass():void 
{   
    if(getQualifiedClassName(this) == "ui.controls::MyClass") 
    { 
     throw new Error('MyClass is an abstract class, do ' + 
            'not instantiate'); 
    }   

} 

回答

4

AS3不支持抽象类。你可以做的最好的是运行时执行。查看this post了解更多信息。

+0

抽象类,多数民众赞成我的关键词我在搜索中失踪 - 两年的Flex,和我让我的java滑:) – Ryan 2011-02-04 15:59:02