[AS]singletonクラスについて
インスタンスをひとつだけしか生成できない仕組みは以下のようにする。
package
{
import flash.display.Sprite;
public class Singleton extends Sprite {
public static var instance:Singleton;
public function Singleton( pvt:SingletonEnforcer ) {
init();
}
public static function getInstance():Singleton {
if( instance == null ) {
instance = new Singleton( new SingletonEnforcer() );
}
return instance;
}
private function init():void {
trace("シングルトン");
}
}
}
internal class SingletonEnforcer{};//internal 同じパッケージ内でのみ参照可能
//アクセス方法
Singleton.getInstance().init();
Tweet