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://ybzwz.com/article/pdicdh.html