php 设计模式之 单例模式
php 设计模式之 单例模式
发布时间:2016-12-29 来源:查字典编辑
摘要:小船类boat.php复制代码代码如下:现在看看怎么样上客复制代码代码如下:

小船类boat.php

复制代码 代码如下:

<?php

class boat {

private static $instance=null;

private $skipper;

private $personNum=0;

private $passengers=array();

private function __construct() {

}

public static function getInstance(){

if (self::$instance==null){

self::$instance=new boat();

}

return self::$instance;

}

/**

* 设置船长

*

* @param unknown_type $name

*/

public function setSkipper($name){

$this->skipper=$name;

}

/**

* 装人

*

* @param unknown_type $person

*/

public function load($person){

if (!emptyempty($person) and $this->personNum<=5){

array_push($this->passengers,$person);

$this->personNum=$this->personNum+1;

}

if ($this->personNum>5) {

echo 'this boat only load 5 person!';

}

}

/**

* 船上装了什么人

*

* @return unknown

*/

public function whoInBoat(){

return $this->passengers;

}

}

?>

现在看看怎么样上客

复制代码 代码如下:

<?php

include 'boat.php';

echo "从前有一条河,河里只有一条船,<br>";

$boat1=boat::getInstance();//因为只有一条船,所以只有一个实例

echo "现在张三要到河东去,";

$boat1->load('张三');

echo "<br>现在船上坐着:<br>";

foreach ($boat1->whoInboat() as $who){

echo $who.'<br>';

}

echo "<br>现在李四也要过河东去<br>";

$boat1->load('李四');

echo "现在船上坐着:<br>";

foreach ($boat1->whoInboat() as $who){

echo $who.'、';

}

echo "<br><br>王五以为这条河有另一条船,<br>";

$boat2=boat::getInstance();

echo "他现在上船<br>";

$boat2->load('王五');

echo "现在船上坐着:<br>";

foreach ($boat1->whoInboat() as $who){

echo $who.'、';

}

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类