Maison  >  Article  >  développement back-end  >  PHP 设计模式之原型模式

PHP 设计模式之原型模式

WBOY
WBOYoriginal
2016-06-20 13:02:001002parcourir

PHP 设计模式之原型模式

“原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节。”

我们来看看基本的原型模式代码。

<?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() . "<br>";
       
$objPrototype2 = $objPrototype;
echo $objPrototype2->getID() . "<br>";
       
$objPrototype3 = $objPrototype->getClone();
echo $objPrototype3->getID() . "<br>";
       
?>


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn