A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小鲁哥哥 于 2017-10-19 11:17 编辑

类的单例模式
目标:
       设计一个类,该类只允许实例化一个对象出来!
解决方法:
       //分4步:
       class  S{
              //第1步:私有化构造方法:以防止new该类
              private  function  __construct(){}
              //第2步:定义一个私有的静态属性,目的是用以存储该单例对象:
              private  static  $obj;
              //第3步:定义一个公开的静态方法,从中判断并实例化一个对象并返回该对象(单例对象)
              static  function  G(){
                     if( !isset (static::$obj )){
                            static::$obj = new  static();
                     }
                     return static::$obj;
              }
              //第4步:私有化克隆方法,以防止克隆
              private funciton  __clone(){}
       }
这样的话,我们在实例化对象的时候静态的变量会存储这个对象,如果我实例化两次的时候,只会返回一个对象,避免了资源的浪费~

不知道大家对今天讲的类的单例模式学习的怎么样啊?有什么疑问欢迎来黑马程序员济南中心来咨询哟~

点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈



1 个回复

正序浏览
学会了 ,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马