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

禹州做网站的公司seo是什么学校

禹州做网站的公司,seo是什么学校,无锡做网站费用,定制手机网站建设如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝)的方式来创建新对象&a…

如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝)的方式来创建新对象,以达到节省创建时间的目的。这种基于原型来创建对象的方式就叫作原型设计模式(Prototype Design Pattern),简称原型模式。

如果对象中的数据需要经过复杂的计算才能得到(比如排序、计算哈希值),或者需要从 RPC、网络、数据库、文件系统等非常慢速的 IO 中读取,这种情况下,我们就可以利用原型模式,从其他已有对象中直接拷贝得到,而不用每次在创建新对象的时候,都重复执行这些耗时的操作。

建造者模式的实现

说明

原型模式的核心是一个抽象原型类(Prototype),该类定义了克隆方法(clone),用于复制自身并创建新对象。具体的原型类(Concrete Prototype)继承自抽象原型类,并实现了克隆方法。

需要注意的是,在 Java 中使用原型模式进行对象克隆时,通常需要实现 Cloneable 接口,并重写 clone() 方法来实现深层克隆。否则,默认的 clone() 方法只会进行浅层克隆,即复制对象的引用而不是实际数据。如果对象包含引用类型的成员变量,则需要对这些成员变量也进行克隆操作,以保证克隆对象与原始对象之间的数据独立性。

编程示例

// 抽象原型类
public abstract class Prototype implements Cloneable {// 定义克隆方法public abstract Prototype clone();
}// 具体原型类A
public class ConcretePrototypeA extends Prototype {// 实现克隆方法@Overridepublic Prototype clone() {return new ConcretePrototypeA();}
}// 具体原型类B
public class ConcretePrototypeB extends Prototype {// 实现克隆方法@Overridepublic Prototype clone() {return new ConcretePrototypeB();}
}// 客户端
public class Client {public static void main(String[] args) {Prototype prototypeA = new ConcretePrototypeA();  // 创建原型对象APrototype cloneA = prototypeA.clone();  // 克隆原型对象APrototype prototypeB = new ConcretePrototypeB();  // 创建原型对象BPrototype cloneB = prototypeB.clone();  // 克隆原型对象B}
}

抽象原型类 Prototype 定义了克隆方法 clone(),具体原型类 ConcretePrototypeA 和 ConcretePrototypeB 分别继承自抽象原型类,并实现了克隆方法。客户端通过实例化具体原型类来创建原型对象,然后通过调用克隆方法 clone() 复制该对象并创建新的对象。

深度拷贝的另外一种实现方法:

public Object deepCopy(Object object) {ByteArrayOutputStream bo = new ByteArrayOutputStream();ObjectOutputStream oo = new ObjectOutputStream(bo);oo.writeObject(object);ByteArrayInputStream bi = new ByteArrayInputStream(bo.toByteArray());ObjectInputStream oi = new ObjectInputStream(bi);return oi.readObject();
}

以上内容基于GPT创建和整理。

参考

  • 设计模式之美-王争
http://www.zhongyajixie.com/news/59225.html

相关文章:

  • 有人有片资源网南宁优化推广服务
  • 惠州做网站 百度优化百度指数专业版app
  • 网络营销常用工具seo最新快速排名
  • 微网站怎么做的好处2345浏览器网址导航
  • 长春网站建设优化企业培训机构seo
  • 现在做网站公司如何申请一个网站域名
  • 用java做的游戏下载网站网站优化推广公司
  • 网络公司做网站后交代给客户什么网络推广运营团队
  • 泰州做兼职的网站电脑培训班一般要学多久
  • 做网站的要到处跑吗百度app下载安装 官方
  • 大淘客网站推广位怎么做企业网站首页
  • 萧山城市建设网站google搜索关键词热度
  • 城乡建设厅网站首页如何推销网站
  • 做网站可以用电脑当服务器吗百度北京总部电话
  • 网站建设一般用到的语言收录优美图片崩了
  • 广州网站优化方案seo专员是什么
  • 做网站前端工资软文写作技巧
  • 提供手机网站建设企业外贸接单十大网站
  • 毕业设计做网站有什么好的创意中国市场营销网网站
  • 装修公司网站建设设计作品今日全国疫情一览表
  • 设计师交流网站常用的seo查询工具
  • 哪个网站是可以做书的央视新闻
  • WordPress的电影播放器代码河南网站关键词优化
  • 空滤网站怎么做外贸平台排行榜前十名
  • 中国万网建站平台成人教育机构排行前十名
  • 家政 东莞网站建设地推的方法和技巧
  • 网站搭建原则长沙整合推广
  • 男女性做那个微视频网站网站免费搭建
  • 用GIF软件做的GIF 超出网站限制360搜索引擎地址
  • 武汉做医院网站公司微信营销策略有哪些