php设计模式 Prototype (原型模式)代码


Posted in PHP onJune 26, 2011
<?php 
/** 
* 原型模式 
* 
* 用原型实例指定创建对象的种类.并且通过拷贝这个原型来创建新的对象 
* 
*/ 
abstract class Prototype 
{ 
private $_id = null; 
public function __construct($id) 
{ 
$this->_id = $id; 
} 
public function getID() 
{ 
return $this->_id; 
} 
public function __clone() // magic function 
{ 
$this->_id += 1; 
} 
public function getClone() 
{ 
return clone $this; 
} 
} 
class ConcretePrototype extends Prototype 
{ 
} 
// 
$objPrototype = new ConcretePrototype(0); 
$objPrototype1 = clone $objPrototype; 
echo $objPrototype1->getID()."<br/>"; 
$objPrototype2 = $objPrototype; 
echo $objPrototype2->getID()."<br/>"; 
$objPrototype3 = $objPrototype->getClone(); 
echo $objPrototype3->getID()."<br/>";
PHP 相关文章推荐
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
深入file_get_contents与curl函数的详解
Jun 25 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
PHP生成各种常见验证码和Ajax验证过程
Jan 10 PHP
Joomla开启SEF的方法
May 04 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 #PHP
session在PHP大型web应用中的使用
Jun 25 #PHP
php URL跳转代码 减少外链
Jun 25 #PHP
php session安全问题分析
Jun 24 #PHP
使用PHP实现二分查找算法代码分享
Jun 24 #PHP
PHP求最大子序列和的算法实现
Jun 24 #PHP
php中转义mysql语句的实现代码
Jun 24 #PHP
You might like
回答PHPCHINA上的几个问题:URL映射
2007/02/14 PHP
PHP Ajax中文乱码问题解决方法
2009/02/27 PHP
深入php之规范编程命名小结
2013/05/15 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
php面向对象中的魔术方法中文说明
2014/03/04 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
12步教你理解Python装饰器
2016/02/25 Python
python pygame模块编写飞机大战
2018/11/20 Python
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
领导干部群众路线对照检查材料
2014/11/05 职场文书
董事长年会致辞
2015/07/29 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang