单例模式练习题

Original 2019-03-31 11:07:49 338
abstract:<?php//hubby类仅允许被实例化一次class Hubby{ //1.new 来创建类实例 //2.clone 来克隆当前类的实例 private function __construct(){}//构造器私有化 private function __clone(){}//克隆私有化 //创建类的内部静态属性,用于保存类的唯一实例 protected static $instance

<?php

//hubby类仅允许被实例化一次


class Hubby{

//1.new 来创建类实例

//2.clone 来克隆当前类的实例

private function __construct(){}//构造器私有化

private function __clone(){}//克隆私有化


//创建类的内部静态属性,用于保存类的唯一实例

protected static $instance = null;


//创建一个外部接口,创建并返回当前类的唯一实例


public static function getInstance(){

if (is_null(static::$instance)) {

static::$instance = new static();

}

return static::$instance;

}

}

 //从外部实例化Hubby类

 $Hubby1 = Hubby::getInstance();

 $Hubby2 = Hubby::getInstance();


 echo ($Hubby1 instanceof Hubby )?'是':'不是';

 echo "<br>";

 echo ($Hubby2 instanceof Hubby )?'是':'不是';

 echo "<br>";

 echo ($Hubby1 ===$Hubby2) ? '完全相等':'不相等';

 echo "<br>";

 var_dump($Hubby1,$Hubby2);

?>


Correcting teacher:天蓬老师Correction time:2019-04-01 10:02:37
Teacher's summary:单例模式, 在很多地方都有应用, 它的设计思想,影响到了许多其它的设计模式, 多做几次, 它是创建型模式的基础之一

Release Notes

Popular Entries