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

温岭哪里有做网站的上海的公司名称

温岭哪里有做网站的,上海的公司名称,做临床研究在哪个网站注册,怎么给自己的网站做域名1.1概述 用原型实例指定创建对象的种类#xff0c;并且通过复制这些原型创建新的对象。这就是原型模式的定义。 在某些情况下#xff0c;可能不希望反复使用类的构造方法创建许多对象#xff0c;而是希望使用该类创建一个对象后#xff0c;以该对象为原型得到该对象的若干个…1.1概述     用原型实例指定创建对象的种类并且通过复制这些原型创建新的对象。这就是原型模式的定义。   在某些情况下可能不希望反复使用类的构造方法创建许多对象而是希望使用该类创建一个对象后以该对象为原型得到该对象的若干个复制品。也就是说将一个对象定义为原型对象要求改原型对象提供一个方法使该原型对象调用此方法可以复制一个和自己有完全相同状态的同类型对象即该方法“克隆”原型对象得到一个新对象。原型对象和以它为原型“克隆”出的新对象可以分别独立地变化也就是说原型对象改变其状态不会影响到以它为原型“克隆”出的新对象反之也一样。   例如通过复制一个已有的Word文档中的文本创建一个新的Word文档后两个文档中的文本内容可独立地变化互不影响。     原型模式是从一个对象出发得到一个和自己有相同状态的新对象的成熟模式该模式的关键是将一个对象定义为原型并为其提供复制自己的方法。   1.2模式的结构 原型模式结构包括两种角色 1抽象原型Prototype一个接口负责定义对象复制自身的方法。 2具体原型ConcretePrototype实现Prototype接口的类具体原型实现抽象原型中的方法以便所创建的对象调用该方法复制自己。 原型模式结构的类图如下图所示     图一原型模式结构的类图     1.3原型模式的优点 1当创建类的新实例的代价更大时使用原型模式复制一个已有的实例可以提高创建新实例的效率。 2可以动态地保持当前对象的动态。在运行时可以随时使用对象流保存当前对象的一个复制品。 3可以在运行时创建新的对象而无须创建一系列类和继承结构。 4可以动态地添加、删除原型的复制品。   1.4适合使用原型模式的情景 1程序需要从一个对象出发得到若干个和其状态相同并可独立变化其状态的对象时。 2当对象的创建需要独立于它的构造过程和表示时。 3一个类创建实例状态不是很多那么就可以将这个类的一个实例定义为原型那么通过复制该原型得到新的实例可能比重新使用类的构造方法创建新实例更方便。     1.5原型模式的使用 以下通过一个简单的问题克隆一个立方体和一个山羊来描述原型模式中所涉及的各个角色具体如下  首先看一下本实例构建框架具体类和1.2模式的结构中类图的对应关系如下图所示   1抽象原型Prototype 抽象原型是Prototype接口该接口的代码如下 package com.liuzhen.thirteen_prototype;public interface Prototype {public Object cloneMe() throws CloneNotSupportedException; }   2具体原型Concrete Prototype 具体原型是Cubic类和Goat类。Goat类使用对象序列化来复制对象Java类库中的绝大多数类都实现了Serializable接口比如StringBuffer类以及java.awt包中的组件类等。Cubic类和Goat类的代码如下  Cubic.java package com.liuzhen.thirteen_prototype;public class Cubic implements Prototype , Cloneable{double length , width , height;Cubic(double a,double b,double c){length a;width b;height c;}public Object cloneMe() throws CloneNotSupportedException{Cubic object (Cubic) clone();return object;} } Goat.java package com.liuzhen.thirteen_prototype;import java.io.*;SuppressWarnings(serial) public class Goat implements Prototype , Serializable{StringBuffer color;public void setColor(StringBuffer c){color c;}public StringBuffer getColor(){return color;}public Object cloneMe() throws CloneNotSupportedException{Object object null;try{ByteArrayOutputStream outOne new ByteArrayOutputStream();ObjectOutputStream outTwo new ObjectOutputStream(outOne);outTwo.writeObject(this); //将原型对象写入对象输出流ByteArrayInputStream inOne new ByteArrayInputStream(outOne.toByteArray());ObjectInputStream inTwo new ObjectInputStream(inOne);object inTwo.readObject(); //创建新的对象原型的复制品}catch(Exception event){System.out.println(event);}return object;} }   3模式的具体使用  通过ThirTeenApplication类来具体实现上述相关类和接口来实现原型模式的运用其代码如下 package com.liuzhen.thirteen_prototype;public class ThirteenApplication {public static void main(String[] args){Cubic cubic new Cubic(12,20,66);System.out.println(cubic的长、宽和高);System.out.println(cubic.length,cubic.width,cubic.height);try{Cubic cubicCopy (Cubic) cubic.cloneMe();System.out.println(cubicCopy的长、宽和高);System.out.println(cubicCopy.length,cubicCopy.width,cubicCopy.height);}catch(CloneNotSupportedException exp){}Goat goat new Goat();goat.setColor(new StringBuffer(白颜色的山羊));System.out.println(goat是goat.getColor());try{Goat goatCopy (Goat)goat.cloneMe();System.out.println(goatCopy是goatCopy.getColor());System.out.println(goatCopy将自己的颜色变成黑色);goatCopy.setColor(new StringBuffer(黑颜色的山羊));System.out.println(goat仍然是goat.getColor());System.out.println(goatCopy是goatCopy.getColor());}catch(CloneNotSupportedException exp){}} }   运行结果 cubic的长、宽和高 12.0,20.0,66.0 cubicCopy的长、宽和高 12.0,20.0,66.0 goat是白颜色的山羊 goatCopy是白颜色的山羊 goatCopy将自己的颜色变成黑色 goat仍然是白颜色的山羊 goatCopy是黑颜色的山羊     参考资料:       1.Java设计模式/耿祥义张跃平著.——北京清华大学出版社2009.5转载于:https://www.cnblogs.com/liuzhen1995/p/6031797.html
http://www.sadfv.cn/news/467951/

相关文章:

  • 电商网站开发ppt网络培训心得体会
  • 网站开发主管岗位说明商务网站建设与推广实训意义
  • 怎样加入网站微网站 制作平台
  • 手机建网站教程重庆网络教育学院官网
  • 建设网站不用模板可以吗成都网页制作公司在线咨询
  • 北京 酒店 企业 网站建设免费咨询
  • 三合一网站选什么系统外贸网站建设源码
  • 太原网站制作策划python网站开发优缺点
  • 百度收录新网站开发网站去哪里学
  • 肯德基的网站建设好做网站
  • 网站建设项目需求书网站的主题有哪些
  • vs怎样建设新网站wordpress category 参数
  • 做网站麻烦不深泽网站制作
  • 东莞营销型网站设计广州学校网站建设
  • 建新建设集团有限公司网站织梦网站后台模版更换
  • 服务器放n个网站成都房产信息查询官方网站
  • 网站续费怎么做帐网站搜索引擎关键字怎么做
  • 中小企业微网站建设电商大数据查询平台免费
  • 怎么建网站站点天长两学一做网站
  • 开发网站网络公司怎么样做农村电子商务的网站有哪些内容
  • 做网站的缺点网站内容一样影响收录
  • 国外有哪些设计网站有哪些问题怎么安装wordpress主题
  • 中国建设机械教育协会网站制作网站企业
  • 流量购买网站湖北省建设厅网站首页
  • 企业搭建网站哪家好商业网站建设的目的
  • 网站建设发言wordpress微信模板
  • 学用mvc做网站网页设计示范html代码
  • 度假村网站建设海南百度推广代理商
  • 深圳建站公司招聘视频号网页版怎么发布视频
  • 揭阳网站开发品牌网站建设推广