<div class="codetitle"><a style="CURSOR: pointer" data="33494" class="copybut" id="copybut33494" onclick="doCopy('code33494')"> 代码如下:@H_301_1@<div class="codebody" id="code33494">
<?PHP
/*
原型模式
用原型实例指定创建对象的种类.并且通过拷贝这个原型来创建新的对象
/
abstract class Prototype
{
private $_id = null;
public function construct($id)
{
$this->_id = $id;
}
public function getID()
{
return $this->_id;
}
public function clone() // magic function
{
$this->id += 1;
}
public function getClone()
{
return clone $this;
}
}
class ConcretePrototype extends Prototype
{
}
//
$objPrototype = new ConcretePrototype(0);
$objPrototype1 = clone $objPrototype;
echo $objPrototype1->getID()."
";
$objPrototype2 = $objPrototype;
echo $objPrototype2->getID()."
";
$objPrototype3 = $objPrototype->getClone();
echo $objPrototype3->getID()."
";
@H301_1@