原型模式虽然是创建型模式,但是与工厂模式没有关系。该模式的思想:是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。
创建一个原型类:
package com.usst.chicago;
public class Prototype implements Cloneable {
public Object clone() throws CloneNotSupportedException {
Prototype proto = (Prototype) super.clone();
return proto;
}
}
一个原型类,只需要实现Cloneable接口、覆写clone方法。此处clone方法可以改写成任意的名称,因为Cloneable接口是个空接口,可以任意定义实现类的方法名。此处的重点是super.clone();语句,调用的时Object的clone方法,而在Object类中clone方法是native的。