原型模式
发布时间:2020-12-14 04:46:33 所属栏目:百科 来源:网络整理
导读:原文链接:http://www.orlion.ga/727/ 解释: ????原型设计模式创建对象的方式是复制和克隆初始对象或原型,这种方式比创建新实例更为有效,在需要经常创建资源集中型对象的情况下,原型模式可以提供更快速执行的途径。 ? 代码: ????声明一个克隆自身的接口:
原文链接:http://www.orlion.ga/727/ 解释: ????原型设计模式创建对象的方式是复制和克隆初始对象或原型,这种方式比创建新实例更为有效,在需要经常创建资源集中型对象的情况下,原型模式可以提供更快速执行的途径。 ? 代码: ????声明一个克隆自身的接口: namespace?Prototype; interface?CDPrototype{ function?copy(); } ????具体克隆对象 namespace?Prototype; class?CDPrototypeImpl?implements?CDPrototype{ public?$title; public?function?__construct($title){ $this->title?=?$title; } //?浅复制 public?function?copy(){ return?clone?$this; } //?深复制 //?public?function?copy(){ //? $serializeObj?=?serialize($this); //? return?unserialize($serializeObj); //?} public?function?__clone(){ $this->title?=?'This?is?a?clone?obj'; //?需要说明的是__clone()魔术方法是在克隆出来的对象中执行的,而不是原型对象 } } ????App.php require?'CDPrototype.php'; require?'CDPrototypeImpl.php'; $cd?=?new?PrototypeCDPrototypeImpl('obj'); $cloneCD?=?$cd->copy(); var_dump($cloneCD->title); var_dump($cd->title); ???? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |