博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式简析(单例模式)
阅读量:4590 次
发布时间:2019-06-09

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

什么是设计模式:设计模式是指设计某个程序的方式。

今天我们简析一下单例模式

单例模式:一个类只能最多创建出一个对象

实现单例必须满足以下条件:

1.不让克隆(私有化克隆魔术方法)

2。不让创建对象(私有化构造方法),不能在类外部使用new关键字创建对象。

3。进入类的内部创建对象(使用静态方法)

4.在类中使用静态属性来保存创建的对象,来判断下次还能不能创建新对象。代码实现

<?php

    //单例模式:一个类只能创建一个对象
    class Single
        {
            //属性
            private    $name;
            public static $counts=0;
            //定义一个静态属性来保存对象
            private static $single;
            //私有化构造方法
            private function __construct(){
                $this->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=Single::getInstance('wangjing');

 

转载于:https://www.cnblogs.com/wangjingwangjing/p/5236120.html

你可能感兴趣的文章
(十五)Struts2 本地化/国际化(i18n)
查看>>
利用Qt Phonon框架制作音视频播放器
查看>>
Bundle savedInstanceState的作用
查看>>
打印图片,自动调整宽高
查看>>
对类使用dir()
查看>>
【13】淘宝sdk——入门实战之header.php制作(一)
查看>>
安装SoapUI Pro
查看>>
杜教BM模板
查看>>
Makefile经典教程(掌握这些足够)
查看>>
自己成功的编写的将数据从excel导入到access中
查看>>
【Leetcode】【Easy】Compare Version Numbers
查看>>
014 链表中倒数第k个结点
查看>>
Python的pip安装Django
查看>>
第一冲刺阶段——站立会议第二天4月19日
查看>>
hdu-----(2807)The Shortest Path(矩阵+Floyd)
查看>>
简洁的MysqlHelper
查看>>
Android面试收集录2 Broadcast Receiver详解
查看>>
基于HTML5实现的中国象棋游戏
查看>>
Luogu P2024 [NOI2001]食物链 | 并查集
查看>>
openLayers3 中实现多个Overlay
查看>>