Revision: 19815
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 31, 2009 17:56 by chrisaiv
Initial Code
package
{
public class Singleton
{
private static var _instance:Singleton;
private static var _okToCreate:Boolean = false;
public function Singleton()
{
if( !_okToCreate ){
throw new Error("Error: " + this +
" is not a singleton and must be " +
"accessed with the getInstance() method");
}
}
public static function getInstance():Singleton
{
if( !Singleton._instance ){
_okToCreate = true;
_instance = new Singleton();
_okToCreate = false;
}
return _instance;
}
}
}
Initial URL
Initial Description
There are a variety of ways to create a Singleton in AS3 but because Adobe wants to be ECMA compliant, there's no way to do it (like in Java) using a private constructor. Writing a singleton this way will give you a runtime warning if something goes wrong.
Initial Title
AS3: My favorite example of Singleton
Initial Tags
Initial Language
ActionScript 3