原型(Prototype)设计模式
来源:互联网 发布:淘宝哪家眼镜店好 编辑:程序博客网 时间:2024/05/14 05:30
原型模式就是通过一个原型对象来表明要创建的对象类型,然后用复制这个对象的方法来创建更痛类型的对象。
原型模式(Prototype)的结构如下图所示:
Prototype 的参与者包括以下几类:
1. Prototype: 一个声明可以克隆的接口。
2. ConcretePrototype: 实现一个克隆接口,用于克隆自身。
3. Client: 让一个原型克隆自身,从而创建新对象。对克隆对象的使用。
下面是Prototype 的一个例子。
AbstractSpoon.java:
public abstract class AbstractSpoon implements Cloneable {String spoonName;public void setSpoonName(String spoonName) {this.spoonName = spoonName;}public String getSpoonName() {return this.spoonName;}public Object clone() {Object object = null;try {object = super.clone();} catch (CloneNotSupportedException exception) {System.err.println("AbstractSpoon is not Cloneable");}return object;}}
SoupSpoon.java:
public class SoupSpoon extends AbstractSpoon {public SoupSpoon() {setSpoonName("Soup Spoon");}}
Client.java:
public class Client {public static void main(String[] args){AbstractSpoon spoon = new SoupSpoon();AbstractSpoon spoon2 = (AbstractSpoon) spoon.clone();System.out.println(spoon.getSpoonName());System.out.println(spoon2.getSpoonName());}}
AbstractSpoon 是一个 Prototype, Client 中调用其clone() 方法生成一个新的Spoon。
对于 Prototype 的 clone 来说,有浅克隆和深克隆之分。这里不多介绍,只需要知道如果使用 Object 类的clone 方法实现克隆,是浅克隆的。
- 原型(Prototype)设计模式
- 设计模式-原型设计模式(Prototype)
- 设计模式-原型设计模式(Prototype)
- 设计模式 原型Prototype
- prototype(原型设计模式)
- 设计模式--Prototype(原型)
- Prototype(原型)设计模式
- 设计模式-prototype原型
- 设计模式之原型模式(Prototype)
- 设计模式--原型模式(Prototype)
- 设计模式之原型模式(Prototype)
- 设计模式-原型模式(Prototype Pattern)
- 设计模式---原型模式(Prototype)
- 设计模式 (五)原型模式(Prototype)
- 设计模式 (五)原型模式(Prototype)
- 设计模式 (五)原型模式(Prototype)
- 设计模式prototype(原型模式)
- [设计模式]原型模式(Prototype)
- Android图片处理(Matrix,ColorMatrix)
- GetMemory(char **p, int num)
- ios之沙盒路径
- SqlHelper.cs
- 程序员何必难为程序员
- 原型(Prototype)设计模式
- onsubmit及调用函数实现函数校验(33)
- Windows 控制台注册表工具 Reg
- Linux 进程间通讯之有名管道方式
- Eboot之函数BootloaderMain函数分析
- 怎么判断textbox输入的都是空格
- C# 为私有方法添加单元测试
- win32 mutithread-busyloop
- regedit.exe的命令行使用