使AS3/Flex类可扩展但不可实例化为对象?

Dre*_*nai 5 apache-flex actionscript-3

我有一个SuperClass实现接口的类,并实现了接口的所有公共方法.我有另一个课程SubClass延伸SuperClass.我不希望这些公共方法被错误地使用.这引出了我的问题:

如何防止SuperClass被实例化为对象?

布赖恩

更新:使用以下答案中的提示,解决方案是:

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

}
Run Code Online (Sandbox Code Playgroud)

RJ *_*old 4

AS3 不支持抽象类。您能做的最好的事情就是运行时强制执行。查看这篇文章了解更多信息。