资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

PHP设计模式:原型模式

sdfasd

从事成都机柜租用,服务器租用,云主机,雅安服务器托管,域名与空间,CDN,网络代维等服务。

attach = $obj;
    }

    public function set($name, $value)
    {
        $this->$name = $value;
    }

    public function get($name)
    {
        return $this->$name;
    }

    public function getAttach()
    {
        return $this->attach;
    }

    abstract public function clone();
}

class DeepCopy extends Prototype
{
    public function clone()
    {
        $obj = clone $this;
        return $obj;
    }
}

class ShallowCopy extends Prototype
{
    public function clone()
    {
        $serializeObj = serialize($this);
        $obj = unserialize($serializeObj);
        return $obj;
    }
}

123

123

//----------深拷贝--------------
$chairman = new CopyObj();
$chairman->array = ['×××', '×××', '江泽明'];


$deepCopyObj1 = new DeepCopy($chairman);
$deepCopyObj2 = $deepCopyObj1->clone();

echo "
";

var_dump($deepCopyObj1->getAttach());
var_dump($deepCopyObj2->getAttach());

//修改对象
$chairman->array = ['×××', '×××'];
var_dump($deepCopyObj1->getAttach());
var_dump($deepCopyObj2->getAttach());

asdsad

//-------------浅拷贝-------------

$start = new CopyObj();
$start->array = ['刘德华', '张学友', '郭富城', '黎明'];
$deepCopyObj3 = new ShallowCopy($start);
$deepCopyObj4 = $deepCopyObj3->clone();
var_dump($deepCopyObj3->getAttach());
var_dump($deepCopyObj4->getAttach());

//修改对象
$start->array = ['周杰伦'];
var_dump($deepCopyObj3->getAttach());
var_dump($deepCopyObj4->getAttach());

文章名称:PHP设计模式:原型模式
网页路径:http://cdkjz.cn/article/pdicdh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220