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

做网站需要哪些准备常州语言网站建设

做网站需要哪些准备,常州语言网站建设,营销团队建设与管理,机械类做的最好的网站如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝)的方式来创建新对象&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.yayakq.cn/news/342975/

相关文章:

  • 网页的创新型网站策划怎样做百度推广网页
  • 北京营销型网站建设方案没备案的网站百度收录
  • 陕西企业网站建设哪家专业网页设计与制作考试试题及答案
  • 襄樊最好网站建设价格十大永久免费网络游戏
  • 物流公司在哪做网站wordpress图片下载水印
  • 怎么做网站旅游宣传网站关键词多少个
  • 最新域名网站贵州公司网站建设
  • 网站制作 杭州龙之向导外贸论坛
  • 成都营销型网站建设熊掌号成都优化推广公司
  • 哪些网站开发网站推广到海外怎么做
  • 网站建设案例行情开发公司未售的空置房物业费
  • 重庆制作网站培训2021世界500强企业排名
  • 网站服务器租用注意事项宜昌做网站
  • 分类信息网站营销我想弄个网站
  • 山东省山东省建设厅网站怎么在百度上设置自己的门店
  • 泰安网站营销推广站长之家whois
  • 兰州网站建设程序打字赚钱一单一结app
  • 网站模块如何添加尚品中国多年专注于高端网站建设
  • 在线购物网站建设流程图银川兴庆建设局网站
  • 广东h5网站建设十大社区团购平台有哪些
  • 嵊州市建设银行网站网上自建网站开店
  • 百度抓取网站图片相亲网站建设策划方案
  • 网站建设规划设计公司排名重庆公司章程在哪里打印
  • 建设无障碍网站宿迁网站建设要多少钱
  • 手机怎样建设网站南京网站搜索优化
  • 免费建立自己微网站吗上海做网站设计的公司
  • 怎么样做网站卖东西网站刷收益是怎么做的
  • 闵行区网站建设有什么网站可以接单做兼职的
  • 厦门本地企业网站建设做站群网站会被k吗
  • 如何弄网站排名建设网站网站