本文主要是介绍原型模式设计克隆人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 模式介绍
用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象
2 模式结构
3 项目应用
设计一个可以克隆person的类。
3.1 源码
<?php
/*** 原型模式* copyright (c) http://blog.csdn.net/CleverCode**/interface Prototype
{/*{{{*/public function shallowCopy();public function deepCopy();
}/*}}}*/class Person implements Prototype
{/*{{{*/public $name;public $sex;public function __construct($name,$sex){$this->name = $name;$this->sex = $sex;}public function shallowCopy(){return clone $this; }public function deepCopy(){$serialize_obj = serialize($this);$clone_obj = unserialize($serialize_obj);return $clone_obj; }public function show(){echo "姓名:".$this->name."\r\n";echo "性别:".$this->sex."\r\n";}}/*}}}*/class Client
{public static function main(){$person1 = new Person('张三','男'); $person1->show();//克隆人 $person2 = $person1->shallowCopy();$person2->name = '李四';$person2->show();}
}Client::main();
?>
3.2 结果
技术交流
CleverCode是一名架构师,技术交流,咨询问题,请加CleverCode创建的qq群(架构师俱乐部):517133582。加群和腾讯,阿里,百度,新浪等公司的架构师交流。【架构师俱乐部】宗旨:帮助你成长为架构师!
这篇关于原型模式设计克隆人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!