美文网首页
原型模式

原型模式

作者: 散装咖啡 | 来源:发表于2017-05-29 13:07 被阅读6次
    /**
    * 原型模式
    * 用原型实例指定创建对象的种类.并且通过拷贝这个原型来创建新的对象
    */
        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/>";
    

    参考文章 https://wenku.baidu.com/view/b4c78b4702768e9951e738fb.html

    相关文章

      网友评论

          本文标题:原型模式

          本文链接:https://www.haomeiwen.com/subject/rwbkfxtx.html