Notepad Web Development

Feed icon

AS3 Singleton workaround example

package
{
	public class YourSingletonClass
	{
		private static var _instance : YourSingletonClass;

		public function YourSingletonClass(pvt:PrivateClass) { }

		public static function getInstance():YourSingletonClass
		{
			if (YourSingletonClass._instance == null) {
				YourSingletonClass._instance = new YourSingletonClass(new PrivateClass());
			} else {
				trace("No can do - already gots me an instance of this class");
			}
			return YourSingletonClass._instance;
		}
	}
}
// Workaround to enable Singleton pattern, because private
// class declarations are unsupported within AS3
class PrivateClass
{
	public function PrivateClass() { }
}

Leave a Reply