為了確保類別的實體化不會有第二次,不論系統內何處實體化都是相同的物件,可以用來當做全域變數的實體物件
SingletonTest.as
package
{
import flash.display.Sprite;
public class SingletonTest extends Sprite
{
public function SingletonTest()
{
var initialSingleton:Singleton = Singleton.getInstance();
var subsequentSingleton:Singleton = Singleton.getInstance();
}
}
}
Singleton.as
package
{
public class Singleton
{
private static var _instance:Singleton;
public function Singleton(pvt:PrivateClass) {
}
public static function getInstance():Singleton
{
if(Singleton._instance == null)
{
Singleton._instance=new Singleton(new PrivateClass());
trace("Singleton instantiated");
}
else
{
trace("Sorry--already have a Singleton instantiated")
}
return Singleton._instance;
}
}
}
class PrivateClass
{
public function PrivateClass() {
trace("Private class is up");
}
}
沒有留言:
張貼留言