前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gof设计模式之原型模式(三)

Gof设计模式之原型模式(三)

作者头像
用户1257393
发布2018-01-30 11:45:34
6120
发布2018-01-30 11:45:34
举报
文章被收录于专栏:精讲JAVA

模式定义:

复制现有对象实例来创建一个新的实例

模式用途:

例如做发送邮件服务,发送给所有人的短信内容都是基本相同,只有收件人,收件地址不同,我们把所有的内容重新写一遍,将变得毫无意义,每一封邮件,我们只需要修改收件人跟收件地址即可,邮件内容我们前期定义好就不需要改变,在此就用到我们今天所说的原型模式。

模式原理:

在java中我们需要实现一个Cloneable接口,就可以实现实例的拷贝,Cloneable接口就是通知java虚拟机安全的使用实例拷贝,否则将报CloneNotSupport异常。我们所有的类都是继承Object,Object中有一个clone方法,该方法修饰符是protected,所以一般类不可以调用,所以原型类需要将clone方法修改为public,才可以。

模式代码:

该方法实现了Cloneable,并重写了clone方法

我们第一次调用赋值title为不变的数据

,第二次就不需要赋值即可,调用clone方法。第一次的title也会克隆过来

运行结果:

两次运行的title一致,而context是变化的,可以证明,第二次对象是被完全赋值过来的。

结语:创建型设计模式理解起来非常简单,希望大家可以快速跟上。还剩一个工厂和抽象工厂,创建型设计模式完结,接下更新七个设计原则。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 精讲JAVA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档