zoukankan      html  css  js  c++  java
  • 单例模式

    class Singleton
    {
            //私有静态属性:用来保存已经产生的对象
            private static $obj;
    
            //私有化构造方法
            private function __construct(){}
    
            //公有静态方法
            public static function getInstance()
            {
                //控制只产生一个对象
    
                if(!(self::$obj instanceof self)){
                    //产生对象
                    self::$obj = new self;
                }
    
                //返回
                return self::$obj;
            }
    
            //私有化克隆方法
            private function __clone(){}
    
    }
    
    //实例化:不能产生多个实例
    //$s1 = new Singleton;            //new对象:会自动的调用构造方法
    //$s2 = new Singleton;
    
    //通过公有静态方法
    $s1 = Singleton::getInstance();
    //$s2 = Singleton::getInstance();
    //$s3 = clone $s1;
    //var_dump($s1,$s3);
    
    总结:单例模式:三私一公(三私:私有化构造方法,私有化克隆方法,私有化静态属性;一公:公有化静态方法)
  • 相关阅读:
    Hash大法
    最小表示法
    KMP算法题集
    分块总结
    2018 雅礼国庆集训
    二分图总结
    贪心总结
    Tire树总结(模板+例题)
    工具类文章合集
    网文胡乱汇总
  • 原文地址:https://www.cnblogs.com/dawuge/p/10153359.html
Copyright © 2011-2022 走看看