博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php -- 设计模式 之 单例模式
阅读量:5831 次
发布时间:2019-06-18

本文共 1010 字,大约阅读时间需要 3 分钟。

实现单例的条件:三私一公

   三私:私有化构造方法:不让外部创建对象

    私有化克隆方法:不让外部克隆对象

    私有静态属性:保存已经产生的对象

   一公:公共静态方法:在类内部创建对象

 

实例:

name = $name; //计数 self::$counts++; } //私有化克隆方法 private function __clone(){ //计数 self::$counts++; } //静态方法,让类进入到类的内部进行实例化得到对象 public static function getInstance($name){ //判断对象是否已经存在,如果存在则直接返回原来对象,否则创造新对象 if(self::$single){ //对象已经存在,返回原来对象 }else{ //对象不存在 self::$single = new Single($name); } //返回对象 return self::$single; } } //实例化 //$single = new Single('林志炫'); //访问类对象数量 //echo Single::$counts; //得到对象 $single = Single::getInstance('马云'); var_dump($single); //访问类对象数量 echo Single::$counts; //得到对象 $single = Single::getInstance('马化腾'); var_dump($single); //访问类对象数量 echo Single::$counts;

 

优点:

  只能创建一个对象,可节省内存资源

转载于:https://www.cnblogs.com/hf8051/p/4648314.html

你可能感兴趣的文章
Android状态栏实现沉浸式模式
查看>>
原创]windows server 2012 AD架构试验系列 – 16更改DC计算机名
查看>>
表格排序
查看>>
java只能的round,ceil,floor方法的使用
查看>>
新开的博客,为自己祝贺一下
查看>>
【CQOI2011】放棋子
查看>>
采用JXL包进行EXCEL数据写入操作
查看>>
一周总结
查看>>
将txt文件转化为json进行操作
查看>>
线性表4 - 数据结构和算法09
查看>>
uva-317-找规律
查看>>
我的2014-相对奢侈的生活
查看>>
Java设计模式
查看>>
Spring Cloud 微服务分布式链路跟踪 Sleuth 与 Zipkin
查看>>
ORM数据库框架 SQLite 常用数据库框架比较 MD
查看>>
华为OJ 名字美丽度
查看>>
微信公众号与APP微信第三方登录账号打通
查看>>
onchange()事件的应用
查看>>
Windows 下最佳的 C++ 开发的 IDE 是什么?
查看>>
软件工程师成长为架构师必备的十项技能
查看>>