facebook twitter hatena line email

Flash/as3/Singleton

提供: 初心者エンジニアの簡易メモ
2015年5月20日 (水) 03:15時点における127.0.0.1 (トーク)による版 (ページの作成:「 ==Singletonパターン(グローバル値をクラスに設定== package { // ex)var ex:Singleton = Singleton.getInstance(); public class Singleton { pri...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索


Singletonパターン(グローバル値をクラスに設定

package {
  // ex)var ex:Singleton = Singleton.getInstance();
  public class Singleton {
    private static var instance:Singleton;
    public static function getInstance():Singleton {
      if (instance == null) {
        instance = new Singleton(arguments.callee);
      }
      return instance;
    }
    public function Singleton(caller:Function = null) {
      if (caller != Singleton.getInstance) {
        throw new Error("SingletonクラスはSingletonクラスです。getInstance()メソッドを使ってインスタンス化してください。");
      }
      if (Singleton.instance != null) {
        throw new Error("Singletonインスタンスはひとつしか生成できません。");
      }
      init();
    }
    private function init():void {
      // ここからいろいろ書く
    }
  }
}