首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Prototype形式

2012-10-26 
Prototype模式用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象Prototype模式允许一个对象

Prototype模式

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,
工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。

Prototype.java

package com.gary.designpattern.prototype;/** * 此模式实现简单,因为Java提供clone方法 * 1.实现java.lang.Cloneable接口 * 2.覆盖clone方法 * java clone详解: * 传送门 http://wenku.baidu.com/view/bf52ad4e767f5acfa1c7cd40.html *  * @author gary * */public class Prototype implements Cloneable{private String someData;public void setSomeData(String someData) {this.someData = someData;}public String getSomeData() {return someData;}public void printData(){System.out.println(someData);}@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}}

?

Test.java

package com.gary.designpattern.prototype;/** * 测试 * @author gary * */public class Test {public static void main(String[] args) {Prototype prototypeA = new Prototype();prototypeA.setSomeData("hello world!");try {Prototype prototypeB = (Prototype) prototypeA.clone();prototypeB.printData();Prototype prototypeC = (Prototype) prototypeA.clone();prototypeC.printData();} catch (CloneNotSupportedException e) {System.out.println("Prototype is not Cloneable");}}}

?

热点排行