+ -
当前位置:首页 → 问答吧 → 如何定义单件类

如何定义单件类

时间:2010-10-20

来源:互联网

有一个问题是在设计单件类的时候,为了让类只能实例化一次,书上有了为他定义一个类常量,让后返回这个常量的方法来判断他只用一次,那么请教高位高手,这样的话还是不能禁止类只实例化一次啊,因为调用了new关键字,他就会重新调用类的构造函数,我的问题是如何让用户在调用new关键字的时候报错,达到真正抽象类的目的

作者: 181507235   发布时间: 2010-10-20

复制内容到剪贴板
代码:
package  flash023
{
    
    /**
     * ...
     * @author FLASH023
     * @date 2010-2-24 16:48
     */
    public dynamic class Singleton extends Object  
    {
        private static var instance:Singleton;
        public function Singleton(_s:Singletoner=null):void {
            if (!_s) {
                throw new Error("只能用getInstance() 来获得实例");
            }
        }
        public static function getInstance():Singleton {
            if (!instance ) {
                instance =new Singleton(new Singletoner);                
            }
            return instance;            
        }
    }
    
}
class Singletoner {
    
}

作者: flash023   发布时间: 2010-10-20