シングルトンの書き方
ActionScript3.0では、privateなコンストラクタを書けない制約があり、Singletonパターンを実装したクラスが定義できませんでした。んで、解決策が出ています。他のクラスから参照できないブロッククラスを用いる方法です。
Singleton.as
package { public class Singleton { public function Singleton(blocker:SingletonBlocker) { if (blocker == null) throw new Error("Public construction not allowed. Use getInstance()"); } public static function getInstance() : Singleton { return instance; } private static var instance:Singleton = new Singleton(new SingletonBlocker()); } } class SingletonBlocker {}
以下、正しい使い方です。
var single:Singleton = Singleton.getInstance();
次に、間違った使い方です。
var single:Singleton = new Singleton();
さていかがでしょうか?なかなか良い感じです。
AS3 programming 101 for C/C++ coders
http://blogs.adobe.com/kiwi/2006/05/as3_programming_101_for_cc_cod_1.html#more