复制代码代码如下:
/**
* プロトタイプ パターン
*
* プロトタイプ インスタンスを使用して、作成するオブジェクトの種類を指定し、このプロトタイプをコピーして新しいオブジェクトを作成します
*
*/
抽象クラス プロトタイプ
{
private $_id = null;
パブリック関数 __construct($id)
{
$this->_id = $id;
}
パブリック関数 getID()
{
return $this->_id;
}
public function __clone() // マジック関数
{
$this->_id += 1;
}
パブリック関数 getClone()
{
クローン $this を返す;
}
}
class ConcretePrototype はプロトタイプを拡張します
{
}
//
$objPrototype = new ConcretePrototype(0);
$objPrototype1 = $objPrototype をクローンします。
echo $objPrototype1->getID()."
";
$objPrototype2 = $objPrototype;
echo $objPrototype2->getID()."
";
$objPrototype3 = $objPrototype->getClone();
echo $objPrototype3->getID()."
";
http://www.bkjia.com/PHPjc/323625.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/323625.html技術記事复制代码代码如下: ?php /*** プロトタイプ パターン * * プロトタイプ インスタンスを使用して、作成するオブジェクトの種類を指定し、このプロトタイプをコピーして新しいオブジェクトを作成します。*/ abstract class Prototype...