总第72篇
在程序中,我们可以不通过new
关键字来产生一个对象,而是通过对象复制来实现的模式称为原型模式,本篇将详细梳理这种设计模式。
1.原型模式的概念
原型模式(Prototype Pattern
)也称作克隆模式,其简单程序仅次于单例模式
和迭代器模式
。它是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
原型模式的核心就是一个Clone()
方法, 此方法的功能就是拷贝父本的所有属性,主要包括两个属性:一是分配一块新的内存空间给新的对象;二是拷贝父本对象的所有属性。
原型模式的通过类图关系比较简单,如下图所示:
![v2-234f4d80713f7bf5dc21ed9e3579e0c9_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/c617e90612724e2608233fa3b6b20008.png)
原型模式的核心就是clone()
方法,通过此方法进行对象的拷贝,Java
中提供了一个Cloneable
接口来标识这个对象是可拷贝的。此模式的通用代码如下:
public class PrototypeClass implements Cloneable{
//覆写父类Object方法
@Override
public Prototy