2011-02-04 81 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