<?php
/**
* 抽象原型角色
*/
interface Prototype {
public function copy();
}
/**
* 具体原型角色
*/
class ConcretePrototype implements Prototype{
private $_name;
public function __construct($name) {
$this->_name = $name;
}
public function setName($name) {
$this->_name = $name;
}
public function getName() {
return $this->_name;
}
public function copy() {
/* 深拷贝实现
$serialize_obj = serialize($this); // 序列化
$clone_obj = unserialize($serialize_obj); // 反序列化
return $clone_obj;
*/
return clone $this; // 浅拷贝
}
}
/**
* 测试深拷贝用的引用类
*/
class Demo {
public $array;
}
class Client {
/**
* Main program.
*/
public static function main() {
$demo = new Demo();
$demo->array = array(1, 2);
$object1 = new ConcretePrototype($demo);
$object2 = $object1->copy();
var_dump($object1->getName());
echo '<br />';
var_dump($object2->getName());
echo '<br />';
$demo->array = array(3, 4);
var_dump($object1->getName());
echo '<br />';
var_dump($object2->getName());
echo '<br />';
}
}
Client::main();
?>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有