【方法一】
【方法二】
package
{
public class Singleton
{
private static var _singletonModeMark:Boolean;
private static var _instence:ScoreController;
public static function getSingleton():Singleton
{
if (!_instence)
{
_singletonModeMark = true;
_instence = new ScoreController;
_singletonModeMark = false;
}
}
public function Singleton():void
{
if (!_singletonModeMark)
{
throw new Error("只能通过静态方法getSingleton()来得到Singleton类的单例");
}
}
}
}
【方法二】
package com.peachpit.aas3wdp.singletonexample {
public class Singleton {
static private var _instance:Singleton;
public function Singleton(singletonEnforcer:SingletonEnforcer) {}
public static function getInstance():Singleton {
if(Singleton._instance == null) {
Singleton._instance = new Singleton(new SingletonEnforcer());
}
return Singleton._instance;
}
public function doSomething():void {
trace("SOMETHING!");
}
}
}
class SingletonEnforcer {}