原型模式
简而言之,以
clone代替new;
适用于大量创建对象/对象依赖对象复杂,以致创建成本高的场景下
利用了所有类都有的
clone()方法(继承自Object类),来实现对象的复制,根据类属性是否复制,可分成深拷贝和浅拷贝
组成
- 原型接口(继承
Cloneable接口,该接口是个标记接口,没有任何方法) - 实现原型接口的类
- 管理原型对象及clone的类
- 使用原型的类
代码示例
原型接口
1 | |
实现原型接口的类
1 | |
管理原型类clone的类
1 | |
使用者
1 | |
控制台输出:
1 | |
简而言之,以
clone代替new;
适用于大量创建对象/对象依赖对象复杂,以致创建成本高的场景下
利用了所有类都有的
clone()方法(继承自Object类),来实现对象的复制,根据类属性是否复制,可分成深拷贝和浅拷贝
Cloneable接口,该接口是个标记接口,没有任何方法)1 | |
1 | |
1 | |
1 | |
控制台输出:
1 | |