Hatena::Groupsubtech

#生存戦略 、それは

-> 07 { 02 / 19 }

AS3 で Singleton

18:24 | はてなブックマーク - AS3 で Singleton - #生存戦略 、それは

get アクセサメソッドで getter にしてやるとドットで関数呼び出しの方法じゃなくても呼べるのね。へぇ。

下は別に面白くも何ともない singleton 例。

package
{
  public class Singleton {
    public static var __instance:Singleton;
    private var count:int = 0;

    public static function get instance():Singleton {
      if ( __instance === null ) {
        __instance = new Singleton;
      }
      return __instance;
    }

    public function countup():int {
      return count++;
    }
  }
}
var obj1:Singleton = Singleton.instance;
trace(obj1.countup()); // 1
var obj2:Singleton = Singleton.instance;
trace(obj2.countup()); // 2
trace(obj1.countup()); // 3

fublogfublog2007/02/19 12:05すいません、アーカイブは置いておきました。アップデートできなかった理由は分かりませんが、バージョンを見ているわけではないので、古いのを置いておいても更新可能なわけではありません。up2date/rss.*を削除すると全て最新化できます。

secondlifesecondlife2007/02/19 12:16up2date/rss.* を削除して最新化できました。
ありがとうございます。

nitoyonnitoyon2007/02/21 01:55> AS3 で Singleton
完全 singleton にするなら
public function Singleton()
{
if(__instance)
{
throw new ArgumentError("");
}
}
とするのがお薦めです。

AS3 のコンストラクタは private にできないのが悲しいところです。

secondlifesecondlife2007/02/21 13:47oh, そうですね>シングルトン
コンストラクタの存在をすっかり忘れてました。