2010-02-07 30 views
1

我知道singleton類在Flex中不支持,因爲它不訪問私有構造函數。Flex中的單例類

但我想做一個類是單身類。請任何人都可以用例子來解釋。

謝謝, 拉維

回答

2

一個Singleton是其中只有一個實例將被創建的類。該實例將被程序中的所有其他代碼共享。

在ActionScript中不支持最嚴格意義上的單例,因爲構造函數不能標記爲私有。因此,該課程的其他實例可以在該程序的其他地方創建。通過以下技巧,可以確保構造函數僅由單例類本身調用:

package { 

public final class Singleton { 

    private static var instance:Singleton = new Singleton(); 

    public function Singleton() { 
     if(Singleton.instance) { 
      throw new Error( 
       "Singleton and can only be accessed through Singleton.getInstance()"); 
     } 
    } 

    public static function getInstance():Singleton {       
     return Singleton.instance; 
    } 
} 
}