首页 > 其他 > 详细

单例模式小示例

时间:2018-10-13 13:38:50      阅读:176      评论:0      收藏:0      [点我收藏+]
header("Content-type:text/html;charset=utf-8");
// final修饰类,则Single类不能被子类继承
final class Single{
// 声明私有的静态变量
private static $instance;

// 构造函数
private function __construct(){}

// 获取单例对象函数
static public function getInstance(){
    if(!is_null(self::$instance)){
        return self::$instance;
    }else{
        return self::$instance = new Single();
    }
}

// 禁止对象的克隆,clone关键字使用时会报错
private function __clone(){
}

}

$obj1 = Single::getInstance();
var_dump($obj1);

$obj2 = Single::getInstance();
var_dump($obj2);

// 这里会报错
$obj3 = clone $obj2;
var_dump($obj3);

单例模式小示例

原文:http://blog.51cto.com/suyanzhu/2299535

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!