设计模式学习笔记之原型模式
2012-08-10 09:26
330 查看
原型模式提供了确定对象种类的接口,客户端通过拷贝原型来创建重复的对象。
Java中原型模式的实现,即是使用clone方法。
例如我们有一个Cat类:
用于测试的类:
这样我们就方便的创建多个重复的对象,而不需要new。不过需要注意的是,现在cat1和cat2的引用是一样的,也就是改了cat2里的值name,cat1的值name也就变化了。
如果不希望这样,希望他们是值相同引用不相同的两个对象,那么clone中应该这样写:
个人认为,原型模式还蛮有用的。
Java中原型模式的实现,即是使用clone方法。
例如我们有一个Cat类:
package com.DesignPolicyLearn.Prototype; /* * author:Tammy Pi * function:猫类 */ public class Cat { private String name; public Cat(String name){ this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void display() { System.out.println("My name is "+name); } public Object clone(){ return this; } }
用于测试的类:
package com.DesignPolicyLearn.Prototype; /* * author:Tammy Pi * function:测试类 */ public class Main { public static void main(String[] args){ Cat cat1 = new Cat("JiaFei"); cat1.display(); Cat cat2 = (Cat) cat1.clone(); cat2.display(); } }
这样我们就方便的创建多个重复的对象,而不需要new。不过需要注意的是,现在cat1和cat2的引用是一样的,也就是改了cat2里的值name,cat1的值name也就变化了。
如果不希望这样,希望他们是值相同引用不相同的两个对象,那么clone中应该这样写:
public Object clone(){ return new Cat(name); }
个人认为,原型模式还蛮有用的。
相关文章推荐
- 设计模式学习笔记——Prototype原型模式
- 设计模式学习笔记(四)——Prototype原型
- 设计模式学习笔记之原型模式
- HeadFirst 设计模式学习笔记19--原型(Prototype)模式拾零
- 设计模式学习笔记(六)——Prototype原型模式
- 【设计模式学习笔记五】【创建型模式】【原型模式(Prototype)】
- .Net设计模式学习笔记(六):原型模式(Prototype Pattern)
- Android设计模式学习笔记(原型模式)
- 设计模式学习笔记--Prototype原型模式
- 设计模式学习笔记-原型模式
- 设计模式学习笔记(十三:原型模式)
- 设计模式学习笔记——原型模式
- 设计模式学习笔记--原型模式
- 设计模式学习笔记_原型模式(prototype)
- 设计模式学习笔记六:原型设计模式
- 设计模式学习笔记(6)原型模式
- 设计模式学习笔记——原型模式
- 阿Sam的设计模式学习笔记---- 原型(Prototype)模式
- 设计模式学习笔记-原型模式
- 设计模式学习笔记——原型(Prototype)框架