Intent
使用原型实例指定要创建对象的类型,通过复制这个原型来创建新对象。
Class Diagram
![](https://github.com/CyC2018/CS-Notes/raw/master/pics/a40661e4-1a71-46d2-a158-ff36f7fc3331.png)
Implementation
public abstract class Prototype { abstract Prototype myClone(); }
public class ConcretePrototype extends Prototype { private String filed; public ConcretePrototype(String filed) { this.filed = filed; } @Override Prototype myClone() { return new ConcretePrototype(filed); } @Override public String toString() { return filed; } }
public class Client { public static void main(String[] args) { Prototype prototype = new ConcretePrototype("abc"); Prototype clone = prototype.myClone(); System.out.println(clone.toString()); } }
abc
JDK
- java.lang.Object#clone()