创建型设计模式-原型模式
来源:互联网 发布:随州seo排名 编辑:程序博客网 时间:2024/05/29 15:02
原型模式:(对象克隆,每次都是新的对象,单例模式返回唯一对象)
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
原型模式参与角色:
抽象原型类:定义具有克隆自己的方法的接口
具体原型类:实现克隆方法
客户类:通过克隆生成一个新的对象
抽象原型类:AbstractPrototype
public abstract class AbstractPrototype{ private String str; public AbstractPrototype(String str){ this.str=str; } public String getStr(){ return str; } public void show(){ System.out.println(str); } /** * 提供克隆自身的方法,实现对象的创建 * @return */ public abstract AbstractPrototype createPrototypeObject();}
具体原型类:ConcretePrototype
public class ConcretePrototype extends AbstractPrototype implements Cloneable{ public ConcretePrototype(String str) { super(str); } /** * 克隆的具体实现方法:浅度复制(只复制属性,不复制其引用的对象) */ @Override public AbstractPrototype createPrototypeObject(){ ConcretePrototype cp = null; try{ cp =(ConcretePrototype) super.clone(); //Java RTTI机制 }catch (Exception e) { e.printStackTrace(); } return cp; }}
测试代码:
//浅复制:只复制对象内容本身,不涉及到关联对象(元对象和拷贝对象的引用指向同一个对象)AbstractPrototype ap=new ConcretePrototype("Hello");ap.show();AbstractPrototype ap1=ap.createPrototypeObject();ap1.show();
结果:
0 0
- 【设计模式】创建型模式-原型模式
- 设计模式 - 创建型模式 - 原型模式
- 设计模式->创建型模式->原型模式
- 设计模式-创建型-原型
- 创建型设计-原型模式
- 设计模式-创建型模式-原型
- 设计模式--创建型--原型模式
- 设计模式4:原型模式【创建型】
- 创建型设计模式---原型模式(Prototype)
- 设计模式-创建型之原型模式
- 创建型设计模式-原型模式
- 设计模式--创建型模式--原型模式(Protype Pattern)
- 设计模式中创建型模式 (二):原型模式
- JAVA设计模式创建型模式之原型模式
- 设计模式:创建型模式:原型模式(prototype pattern)
- 设计模式之------创建型模式(五)-----原型模式
- 设计模式-创建型模式:原型模式PrototypeModel
- (4)设计模式之原型模式(创建型模式)
- PJAX的实现与应用
- swift的可选绑定
- 微信公众号的开发流程
- 邻接表 邻接矩阵 广度优先搜索 深度优先搜索
- Python系列之四_列表
- 创建型设计模式-原型模式
- 如何用Maven创建web项目(具体步骤)
- Android和UI那些事儿
- Spring Boot中使用Swagger2构建强大的RESTful API文档
- android : String.format
- srs中时间戳抖动处理
- swift 3.0
- 简述代码重构的重要性
- Android中基于TCP协议的网络通信