Home > Action Script 3.0 > Creating Singleton class in AS 3.0

Creating Singleton class in AS 3.0

How to create a singleton class? Here is an example.

Let’s say we have a normal class like “Cricketer”.

package components
{
	public class Car{

		private var _carName:String;
		private var _carColor:String;
		private var _carPrize:int;

		/**
		 * CONSTRUCTOR
		 */

		public function Car(){}

		/**
		 * GETTERS AND SETTERS
		 */

		public function get carName():String{return _carName;}
		public function set carName(value:String):void{_carName = value;}
		public function get carColor():String{return _carColor;}
		public function set carColor(value:String):void{_carColor = value;}
		public function get carPrize():int{return _carPrize;}
		public function set carPrize(value:int):void{_carPrize = value;}

	}
}

Now to make this class singleton, add following piece of code.

package components
{

	public class Car{

		private var _carName:String;
		private var _carColor:String;
		private var _carPrize:int;

		protected static var _instance:Car;

		//Making singlton
		public static function getInstance():Car
		{
			if (_instance == null)
			{
				_instance = new Car();
			}
			return _instance;
		}

		/**
		 * CONSTRUCTOR
		 */

		public function Car(){}

		/**
		 * GETTERS AND SETTERS
		 */

		public function get carName():String{return _carName;}
		public function set carName(value:String):void{_carName = value;}
		public function get carColor():String{return _lastName;}
		public function set carColor(value:String):void{_lastName = value;}
		public function get carPrize():int{return _carPrize;}
		public function set carPrize(value:int):void{_carPrize = value;}

	}
}

Let’s see how we can utilize this feature in our application.

protected function checkSinglton(event:FlexEvent):void
{
	// TODO Auto-generated method stub
	//A First Cricketer
	var car:Car = Car.getInstance();
	car.carName= "Tata Indigo Marina";
	car.carColor = "0xEBEBEB";
	car.carPrize = 570000;

	trace ("My First Car: "+car.carName + "having color of " + car.carColor + " which cost me around " + car.carPrize.toString());

	//A new cricketer ? or not ?
	var secondCricketer:Cricketer = Cricketer.getInstance();
	trace ("Second Cricketer : "+cricketer.firstName + " " +cricketer.lastName " " +cricketer.type);
}

Advertisement
Categories: Action Script 3.0 Tags: ,
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.