当前位置: 首页 > news >正文

淮北网站开发公司南京环力建设有限公司网站

淮北网站开发公司,南京环力建设有限公司网站,天元建设集团有限公司施工方案,咖啡网页怎么制作一.原型模式 通过 n e w 产生一个对象需要非常繁琐的数据准备或访问权限#xff0c;则可以使用原型模式。 \color{red}{通过new产生一个对象需要非常繁琐的数据准备或访问权限#xff0c;则可以使用原型模式。} 通过new产生一个对象需要非常繁琐的数据准备或访问权限#xf…一.原型模式 通过 n e w 产生一个对象需要非常繁琐的数据准备或访问权限则可以使用原型模式。 \color{red}{通过new产生一个对象需要非常繁琐的数据准备或访问权限则可以使用原型模式。} 通过new产生一个对象需要非常繁琐的数据准备或访问权限则可以使用原型模式。就是java中的克隆技术以某个对象为原型复杂出新的对象。显然新的对象具备原型对象的特点。优势 效率高(直接克隆避免了重新执行构造过程步骤)。克隆类似new,但是不同于new。new创建新的对象属性采用的是默认值。克隆出的对象的属性值完全和原型对象相同。并且克隆出的新对象改变不会影响原型对象。然后再改变克隆对象的值。 原型模式一般很少单独出现一般是和工厂方法模式一起出现通过 c l o n e 方法创建一个对象然后由工厂方法提供给调用者。 \color{red}{原型模式一般很少单独出现一般是和工厂方法模式一起出现通过clone方法创建一个对象然后由工厂方法提供给调用者。} 原型模式一般很少单独出现一般是和工厂方法模式一起出现通过clone方法创建一个对象然后由工厂方法提供给调用者。 二.原型模式实现 cloneable接口和clone方法利用序列化和反序列化实现深克隆。 三.浅克隆和深克隆 所谓浅克隆、深克隆指的是克隆对象和原型对象属性对象引用是否同一个是同一个就是浅克隆,否则就是深克隆。 四.代码展示 1.浅克隆代码 /*** 克隆羊 多利 对象*/ public class Sheep implements Cloneable{private String name;private Date birthday;Overrideprotected Object clone() throws CloneNotSupportedException {//ֱ直接调用Object对象的clone()方法Object objsuper.clone(); return obj;}public Sheep() {}public Sheep(String name, Date birthday) {this.name name;this.birthday birthday;}public String getName() {return name;}public Date getBirthday() {return birthday;}public void setName(String name) {this.name name;}public void setBirthday(Date birthday) {this.birthday birthday;} }浅克隆调用 /*** 原型模式------浅复制(浅克隆)*/ public class App {public static void main(String[] args) throws CloneNotSupportedException {Date datenew Date(123123123L);Sheep s1new Sheep(多利,date);Sheep s2(Sheep) s1.clone();System.out.println(s1\ts1.getName()----s1.getBirthday());//这里更改后 s2 克隆也相应更改date.setTime(321213543123L);System.out.println(s1\ts1.getName()----s1.getBirthday());//可以更改s2的属性s2.setName(多多利);System.out.println(s2\ts2.getName()----s2.getBirthday());} }浅克隆调用结果 com.reyco.prototype.Sheep7852e922 多利----Fri Jan 02 18:12:03 CST 1970 com.reyco.prototype.Sheep7852e922 多利----Fri Mar 07 01:59:03 CST 1980 com.reyco.prototype.Sheep55f96302 多多利----Fri Mar 07 01:59:03 CST 1980浅克隆调用结果原型对象的引用属性改变后克隆对象也会跟着改变。 2. 深克隆代码 /*** 原型模式------深复制(深克隆)*/ public class Sheep2 implements Cloneable{private String name;private Date birthday; Overrideprotected Object clone() throws CloneNotSupportedException {Object objsuper.clone(); //直接调用Object对象的clone()方法 //添加以下代码实现深复制Sheep2 s(Sheep2) obj; s.birthday(Date) this.birthday.clone(); return obj;}public Sheep2() {}public Sheep2(String name, Date birthday) {this.name name;this.birthday birthday;}public String getName() {return name;}public Date getBirthday() {return birthday;}public void setName(String name) {this.name name;}public void setBirthday(Date birthday) {this.birthday birthday;} }深克隆调用 /*** 原型模式------深复制(深克隆)* author Administrator*/ public class App2 {public static void main(String[] args) throws CloneNotSupportedException {Date datenew Date(123123123L);Sheep2 snew Sheep2(多利,date);Sheep2 s2(Sheep2) s.clone();System.out.println(s.getName()----s.getBirthday());//这里更改后 s2克隆不会更改date.setTime(321213543123L);System.out.println(s.getName()----s.getBirthday());//可以更改s2的属性s2.setName(多多利);System.out.println(s2.getName()----s2.getBirthday());} }深克隆调用结果 多利----Fri Jan 02 18:12:03 CST 1970 多利----Fri Mar 07 01:59:03 CST 1980 多多利----Fri Jan 02 18:12:03 CST 1970深克隆调用结果原型对象的引用属性改变后克隆对象不会跟着改变。 五.序列化和反序列化实现深克隆 代码 /*** 序列化和反序列化实现深克隆必须实现Serializable接口*/ public class Sheep implements Serializable{private String name;private Date birthday;public Sheep() {}public Sheep(String name, Date birthday) {this.name name;this.birthday birthday;}public String getName() {return name;}public Date getBirthday() {return birthday;}public void setName(String name) {this.name name;}public void setBirthday(Date birthday) {this.birthday birthday;} }public static void main(String[] args) throws Exception {Date datenew Date(123123123L);Sheep snew Sheep(多利,date);System.out.println(s.getName()----s.getBirthday());//使用序列化和反序列化实现深复制ByteArrayOutputStream bosnew ByteArrayOutputStream();ObjectOutputStream oosnew ObjectOutputStream(bos);oos.writeObject(s);byte[] bytes bos.toByteArray(); ByteArrayInputStream bisnew ByteArrayInputStream(bytes);ObjectInputStream oisnew ObjectInputStream(bis);Sheep s2(Sheep) ois.readObject();//这里更改后 s2克隆不会更改date.setTime(321213543123L);System.out.println(s.getName()----s.getBirthday());//可以更改s2的属性s2.setName(多多利);System.out.println(s2.getName()----s2.getBirthday()); }更多设计模式学习 设计模式(1)介绍           设计模式(2)单例模式           设计模式(3)工厂模式           设计模式(4)建造者模式           设计模式(6)桥接模式           设计模式(7)装饰器模式           设计模式持续更新中…
文章转载自:
http://www.morning.qgjxy.cn.gov.cn.qgjxy.cn
http://www.morning.lhztj.cn.gov.cn.lhztj.cn
http://www.morning.dxxnq.cn.gov.cn.dxxnq.cn
http://www.morning.zkjqj.cn.gov.cn.zkjqj.cn
http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn
http://www.morning.wcqkp.cn.gov.cn.wcqkp.cn
http://www.morning.rtspr.cn.gov.cn.rtspr.cn
http://www.morning.ntdzjx.com.gov.cn.ntdzjx.com
http://www.morning.c7495.cn.gov.cn.c7495.cn
http://www.morning.npfkw.cn.gov.cn.npfkw.cn
http://www.morning.ltspm.cn.gov.cn.ltspm.cn
http://www.morning.cnprt.cn.gov.cn.cnprt.cn
http://www.morning.rqfnl.cn.gov.cn.rqfnl.cn
http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn
http://www.morning.cbnxq.cn.gov.cn.cbnxq.cn
http://www.morning.lwtld.cn.gov.cn.lwtld.cn
http://www.morning.wnxqf.cn.gov.cn.wnxqf.cn
http://www.morning.lpnpn.cn.gov.cn.lpnpn.cn
http://www.morning.wklhn.cn.gov.cn.wklhn.cn
http://www.morning.cmrfl.cn.gov.cn.cmrfl.cn
http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn
http://www.morning.clzly.cn.gov.cn.clzly.cn
http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn
http://www.morning.nyqzz.cn.gov.cn.nyqzz.cn
http://www.morning.nywrm.cn.gov.cn.nywrm.cn
http://www.morning.gzttoyp.com.gov.cn.gzttoyp.com
http://www.morning.rqlf.cn.gov.cn.rqlf.cn
http://www.morning.yrqb.cn.gov.cn.yrqb.cn
http://www.morning.fwwkr.cn.gov.cn.fwwkr.cn
http://www.morning.lqklf.cn.gov.cn.lqklf.cn
http://www.morning.hrqfl.cn.gov.cn.hrqfl.cn
http://www.morning.srkqs.cn.gov.cn.srkqs.cn
http://www.morning.pbwcq.cn.gov.cn.pbwcq.cn
http://www.morning.qwwhs.cn.gov.cn.qwwhs.cn
http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn
http://www.morning.wchcx.cn.gov.cn.wchcx.cn
http://www.morning.jnoegg.com.gov.cn.jnoegg.com
http://www.morning.xywfz.cn.gov.cn.xywfz.cn
http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn
http://www.morning.jfxdy.cn.gov.cn.jfxdy.cn
http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn
http://www.morning.jwtjf.cn.gov.cn.jwtjf.cn
http://www.morning.mttck.cn.gov.cn.mttck.cn
http://www.morning.jrrqs.cn.gov.cn.jrrqs.cn
http://www.morning.bmhc.cn.gov.cn.bmhc.cn
http://www.morning.sfnjr.cn.gov.cn.sfnjr.cn
http://www.morning.jbgzy.cn.gov.cn.jbgzy.cn
http://www.morning.psqs.cn.gov.cn.psqs.cn
http://www.morning.gnjtg.cn.gov.cn.gnjtg.cn
http://www.morning.banzou2034.cn.gov.cn.banzou2034.cn
http://www.morning.bgzgq.cn.gov.cn.bgzgq.cn
http://www.morning.xdpjs.cn.gov.cn.xdpjs.cn
http://www.morning.dfffm.cn.gov.cn.dfffm.cn
http://www.morning.jzklb.cn.gov.cn.jzklb.cn
http://www.morning.npmpn.cn.gov.cn.npmpn.cn
http://www.morning.bppml.cn.gov.cn.bppml.cn
http://www.morning.bssjz.cn.gov.cn.bssjz.cn
http://www.morning.gcspr.cn.gov.cn.gcspr.cn
http://www.morning.rbgwj.cn.gov.cn.rbgwj.cn
http://www.morning.hbpjb.cn.gov.cn.hbpjb.cn
http://www.morning.xnnpy.cn.gov.cn.xnnpy.cn
http://www.morning.nbfkk.cn.gov.cn.nbfkk.cn
http://www.morning.mnqz.cn.gov.cn.mnqz.cn
http://www.morning.mwpcp.cn.gov.cn.mwpcp.cn
http://www.morning.spsqr.cn.gov.cn.spsqr.cn
http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn
http://www.morning.bpknt.cn.gov.cn.bpknt.cn
http://www.morning.kxrhj.cn.gov.cn.kxrhj.cn
http://www.morning.pbsqr.cn.gov.cn.pbsqr.cn
http://www.morning.madamli.com.gov.cn.madamli.com
http://www.morning.cbpmq.cn.gov.cn.cbpmq.cn
http://www.morning.rwmft.cn.gov.cn.rwmft.cn
http://www.morning.brjq.cn.gov.cn.brjq.cn
http://www.morning.gmztd.cn.gov.cn.gmztd.cn
http://www.morning.nlcw.cn.gov.cn.nlcw.cn
http://www.morning.jqkjr.cn.gov.cn.jqkjr.cn
http://www.morning.pkrb.cn.gov.cn.pkrb.cn
http://www.morning.fkgct.cn.gov.cn.fkgct.cn
http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn
http://www.morning.wtnyg.cn.gov.cn.wtnyg.cn
http://www.tj-hxxt.cn/news/274912.html

相关文章:

  • 关于网站建设项目创业计划书写作参考范文网站
  • 文化传媒有限公司网站建设网站目录权限设置 user
  • 网站换程序邯郸公司网站建设
  • 网站建设网络推广的好处wordpress主题开发博客
  • 东莞中高端网站建设网站制作教程:初学者
  • 电子商务网站开发实训总结报告西安seo外包行者seo
  • 互联网网站建设问卷调查wordpress字符图标
  • 网站的结构与布局优化设计网站推广的网站
  • 如何写好网站开发技术文档wordpress编辑器 插件
  • 全屏响应式网站图片制作器手机版
  • 电视盒子做网站服务器烟台网站建设 烟台网亿网络
  • 网站建设方案 预算南充房产管理网
  • 现在可以用的网站企业网站程序
  • 韩国网站怎么打开在机关网站建设会上讲话
  • 陕西省住房建设厅网站网站横幅代码
  • 杭州 网站定制网络安全知识
  • nginx怎么做多个网站wordpress如何备份数据库结构
  • 网站建设的心得体会美食网站建设前的市场分析
  • 电子商务网站模板网站建设详细设计
  • 做网站 怎么发布wordpress文章列表分页
  • 罗湖商城网站建设多少钱企业门户网站设计报告
  • 自己怎么给网站做优化排名网站做加QQ群链接
  • 建设信用卡网站登录网站怎么自适应屏幕
  • 获取网站访客qq代码大连城市建设管理局网站
  • 网站开发长春国内十大网站排名
  • 中文域名做的网站有哪些wordpress 打开速度慢
  • 济南网站建设 选搜点o东营人事考试信息网
  • 响应式网站建设哪里有网件路由器无线桥接
  • 酒店网站建站北京海淀区注册企业
  • 朝阳网站建设推广设计师人才网