Prototype (原型模式)代码到底是什么样的
来源:爱站网时间:2021-04-27编辑:网友分享
相信很多PHP程序员对于代码应该都不陌生了,以下是一组Prototype (原型模式)代码,用原型实例指定创建对象的种类,有需要的用户可以直接在本文中直接拷贝来创建新的对象。
复制代码 代码如下:
/**
* 原型模式
*
* 用原型实例指定创建对象的种类.并且通过拷贝这个原型来创建新的对象
*
*/
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()."
";
上面这一组代码就是php设计模式下的Prototype (原型模式)代码,如果有需要的程序员都可以直接在本文中直接拷贝下来,用于创建新的对象。