单例模式

<?php 

//单例模式   类只能被实例化一次只能得到一个对象

class Single{
	public $rand;
	static public $ob=null;
	final protected function __construct(){
		$this->rand=mt_rand(1000000000,99999999999);
	}

	static public function getins(){
		//对外开放一个接口
		if (Single::$ob===null){
			//让其对象只new一次
			Single::$ob=new Single();
		}
		return  Single::$ob;
	}

}
  class Test extends Single{
  	public function __construct(){

  	}
  }
//一旦new Sngle实例化遇到protected方法就会报错,外部是不能调用protected的方法

var_dump(Single::getins());//于是将属性转为静态就不用实例化new对象就能直接调用类中的方法

new test();//会报错,主要是final不允许构造函数被重写,这样就能实现单一的对象模式





 ?>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值