AS3单件模式

AS3中构造函数不能私有,如何避免外部通过调用构造函数实例化单件类呢?使用一个包外类可以解决这个问题。这也是一种比较蛋疼的方式。

package singleton
{
    import flash.text.StaticText;

    public class Singleton
    {
        private static var _instance:Singleton;
        public function Singleton(s:SingletonEor )
        {
        }
        
        
        public static function getInstance():Singleton
        {
            if(!_instance)
                _instance=new Singleton(new SingletonEor());
            
            return _instance;
        }
        
        public function fun1():void
        {
            trace("this is a Singleton!");    
        }
    }
}

class SingletonEor{}

 

你可能感兴趣的:(as3)