设计模式之原型模式
来源:互联网 发布:golang mgo.v2 编辑:程序博客网 时间:2024/06/06 09:18
- 现象
- 原型模式
- 深复制与浅复制
现象
工作中会遇到这样的问题:需要创建一批结构复杂的同一类对象,这时就需要考虑复杂对象创建时,对性能的影响了。
于是,就是了一个选择问题:要得到一批同一类对象,是继续用new,还是……clone?
原型模式
- 类组成
- Prototype类:就是jdk中的Cloneable接口
- ConcreatePrototype类:具体要clone的类,继承了Prototype类,也就是Cloneable接口;
至于Client端的使用类,不在此赘述。
public class Prototype implements Cloneable{ private String str; private int id; public Prototype clone() throws CloneNotSupportedException { Prototype prototype =super.clone(); } public void show() { System.out.println("原型模式:" + str + id); } /**getter and setter ....**/}/****************我是客户端***********************/public class ClientTest{ public static void main(String[] args) { Prototype org = new Prototype(); //克隆出一个新的对象 Prototype pt = org.clone(); pt.show(); org.show(); } }
深复制与浅复制
- 复制有“深浅”之分,“浅”说的是复制对象的引用,对象只有一个;“深”是说复制对象,clone了几次,就有几个新的对象
- Java中,8种基本类型和其包装类,clone时,是深复制
- 其他类对象均为浅复制
- 由于String对象的改变(字符串内容的改变),伴随着新的String对象创建,因此虽然String对象的复制,是浅复制,但表现是却是深复制的现象
阅读全文
1 0
- 设计模式之原型
- 设计模式之原型
- 设计模式 之 原型
- 设计模式之原型
- 设计模式之原型
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之-原型模式
- 设计模式之 原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之--原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 设计模式之原型模式
- 编译原理 (预处理>编译>汇编>链接)(转)
- 将图片存储到mysql数据库
- C++中的this
- 显卡里的cuda真正做到并行运算的机制和线程个数,主要关于SM、warp等概念。
- Hive为什么适合做数据仓库
- 设计模式之原型模式
- 国庆清北刷题冲刺班 Day2 上午
- 数据请求工具类ios
- 几个关于JMeter的博客文章
- MySQL 百万级分页优化(Mysql千万级快速分页)
- PHP页面间参数传递的四种方法详解
- 矩形嵌套
- C++实现简单的二叉树
- Linux文件权限管理及相关操作