单例模式一个类可以实例化多少次?简单介绍一下单例模式以及单例模式的主要应用

2025-05-04 06:25:42
推荐回答(3个)
回答(1):

..........单例模式的应用:就是这个东西被多次使用,每次初始化会浪费很多资源,所以,有了单例,就是只需要一个对象。。这个对象一直存在,使用的时候直接调用。。你让他实例化多次,那还用单例模式有毛用啊。。。。

回答(2):

error_reporting(0);
class Authorization{

    protected static $authorization = NULL;
    protected static $num=0;

    public static function &instance() {
         if (self::$authorization == NULL){
            self::$authorization = new Authorization();
            self::$num++;
         }
         
        
        // 
        // 如果把上门注释掉,打开下面两行就不是单例模式,就会被多new好多次
        //  self::$num++;
        // return new Authorization;
    }

    public function  say(){
     echo 'say--'.self::$num;

    }



}

    $p1=Authorization::instance();
    $p2=Authorization::instance();
    $p3=Authorization::instance();


    echo $p1->say();
    echo $p2->say();
// 另外一种单例的实现方法
if(self::$authorization instanceof self){
        
         return self::$authorization;
            
        }else{
         self::$num++;
            self::$authorization=new self();
            return  self::$authorization;
                
          }

回答(3):

1次。他的存在就是用来限制实例化的次数的,英文名singleton。