原型模式(Prototype) 1
原型模式
一.一般实现
1.1 创建对象
public class Entity {public Entity(){System.out.println("create entity ...");}}
1.2 调用
public static void main(String[] args) {new Entity();}
1.3 输出
create entity ...
1.4 缺点
- 如需大量创建某对象,对象创建效率,性能低.
- 创建对象收访问权限的限制.
二.原型模式
2.1 定义
- 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象.
2.2 条件
- 实现Cloneable接口.
- 重写Object的clone方法.
2.3 浅拷贝与深拷贝
- 浅拷贝:只拷贝对象中的基本数据类型和String类型.
- 深拷贝:可拷贝对象中的对象类型,集合类型(集合类基本都有自己的clone方法).
三.代码实现
3.1 创建接口
public interface IEntity extends Cloneable{Object clone();}
3.2 创建对象
public class Entity implements IEntity{public Entity(){System.out.println("create entity ...");}@Overridepublic Object clone() {Entity entity = null;try {entity = (Entity) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return entity;}}
3.3 调用
public static void main(String[] args) {IEntity entity1 = new Entity();IEntity entity2 = (IEntity) entity1.clone();System.out.println(entity1.hashCode());System.out.println(entity2.hashCode());}
3.4 输出
create entity ...1956725890356573597
四.源码
https://github.com/Seasons20/DisignPattern.git
END
原型模式(Prototype) 1相关推荐
- 原型模式(ProtoType) - Java里的对象复制
一, 引用的复制和对象复制. 在编程中, 我们有时会用两个引用指向同一个对象. 例如: ArrayList a = new ArrayLIst(); ArrayList b = a; 看起来好像有a, ...
- 乐在其中设计模式(C#) - 原型模式(Prototype Pattern)
[索引页] [源码下载] 乐在其中设计模式(C#) - 原型模式(Prototype Pattern) 作者:webabcd 介绍 用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象. ...
- 原型模式-prototype
一.什么是原型模式 Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例.使用Prototype模式创建的实例,具有与原型一样的数据. 二.原型模式的特点 1.由原型对 ...
- C++设计模式——原型模式(Prototype Pattern)
C++设计模式--原型模式(Prototype Pattern) 微信公众号:幼儿园的学霸 目录 文章目录 C++设计模式--原型模式(Prototype Pattern) 目录 定义 代码示例 普通 ...
- 原型模式(Prototype Pattern)
原型模式(Prototype Pattern) 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. ...
- Java设计模式--原型模式Prototype
原型模式Prototype 原型模式使得用户可以通过复制对象样本来创建新对象.与通过调用构造函数创建对象相比,二者主要区别在于:通过复制创建的新对象一般会包含原始对象的某些状态. 原型模式属于对象的创 ...
- 设计模式(23):创建型-原型模式(Prototype)
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于 ...
- 设计模式之原型模式(Prototype)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式包括:1.FactoryMethod(工厂方法模式):2.Abstract Factory(抽象工厂模式):3.Sin ...
- 设计模式之原型模式prototype
1.原型模式的使用和本质.以及优势: a.通过 new 产生一个对象需要非常繁琐的数据准备或者访问权限,则可以使用原型模式. b.原型模式的使用就是 java 中的克隆技术,以某个对象为原型,复制出新 ...
- 设计模式---原型模式(Prototype Pattern)
在编程中有时候我们会发现,当我们需要一个实例,可是这个实例的创建过程十分复杂,在执行过程中 会消耗大量的时间,同时创建第一个实例和创建第二个时间的初始化信息并未改变.在此种情况下,直接New 一个实例 ...
最新文章
- Java中对象的实例化顺序
- 如何对付费广告流量进行标记?
- mysql5.7 读写分离_mysql5.7的主从复制+读写分离
- mysql怎么对比表结构_mysql查看表结构2种方式对比
- 创建windows服务,定时监控网站应用程序池
- c语言float二进制输出代码_C语言学习笔记——学前知识概述
- 作者:孙卫强,博士,上海交通大学教授、博士生导师。
- 中文分词与马尔科夫模型之二(隐马尔科夫模型与维特比)
- STM32开发日记002:KEIL5安装教程
- 省级期刊发表价格具体分析
- 基于MIMO的无线携能通信系统优化问题的基础知识和研究方向
- QTP版“古城钟楼”---使用QTP完成微博定时发送脚本代码
- 淘气的小丁-抽奖小游戏
- spring源码:九大后置处理器
- 手机接收短信验证码生成(纯数字)
- Phobos Runtime Library
- Win32编程---在窗体添加一个按钮
- 光猫 DHCP服务器未响应,案例分享--光猫手工设置后死机的原因之一
- 自然语言处理(NLP): 12 BERT文本分类
- Python基础知识_列表(List)
热门文章
- 构造函数和复制函数java_用Java复制构造函数
- swift 对象转换_Swift类型转换–照原样,任何对象
- okhttp离线缓存_Android改造OkHttp离线缓存
- Java面试题:synchronized和对象的访问定位的两种方式
- TypeScript接口用法(基础)
- 关于appium中的Multiaction的用法
- JSOI 2008 【魔兽地图】
- 从荣耀小米扎堆“滑盖全面屏”,看国产手机的“取巧”式创新
- MicroPython实例之TPYBoard v102炫彩跑马灯WS2812B
- cpu out of order, 性能优化