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

重庆企业网站建设价格网络营销是什么含义

重庆企业网站建设价格,网络营销是什么含义,电商推广费用占比,同ip网站有什么影响为什么要使用原型模式 不用重新初始化对象,而是动态地获得对象运行时的状态。适用于当创建对象的成本较高时,如需进行复杂的数据库操作或复杂计算才能获得初始数据。 优点是可以隐藏对象创建的细节,减少重复的初始化代码;可以在…

为什么要使用原型模式

不用重新初始化对象,而是动态地获得对象运行时的状态。适用于当创建对象的成本较高时,如需进行复杂的数据库操作或复杂计算才能获得初始数据。

优点是可以隐藏对象创建的细节,减少重复的初始化代码;可以在运行时动态地增加和删除产品。

什么是原型模式

原型模式(Prototype),用原型实例指定创建对象的种类,并且通
过复制这些原型创建新的对象
在这里插入图片描述

"原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。

组成

  1. Prototype(原型):
    • 定义一个包含克隆自身的方法的接口。在 Java 中,可以通过实现 Cloneable 接口来达到这个目的。
  2. Concrete Prototype(具体原型):
    • 实现或继承原型接口,并重写克隆方法。
  3. Client(客户端):
    • 创建一个新对象,通过复制原型实例来完成。

怎么使用

Java实现原型模式的步骤:

  1. 创建原型接口:
    • 在 Java 中,通常使用 Cloneable 接口作为原型。
  2. 实现具体的原型类:
    • 创建类,实现 Cloneable 接口。
    • 重写 clone() 方法,根据需要进行深拷贝或浅拷贝。
  3. 在客户端代码中复制对象:
    • 使用原型实例的 clone() 方法来获取对象的副本。

什么时候使用

一般在初始化的信息不发生变化的情况下,克隆是最好的办法。这既隐藏了对象创建的细节,又对性能是大大的提高,

浅拷贝和深拷贝

  • 浅复制,被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用都仍然指向原来的对象。
  • 深复制,把引用对象的变量指向复制过的新对象,而不是原有的被引用的对象

浅拷贝

public class ShallowCopyExample implements Cloneable {private int[] data;public ShallowCopyExample() {data = new int[10];for (int i = 0; i < data.length; i++) {data[i] = i;}}public void setData(int index, int value) {data[index] = value;}public int[] getData() {return data;}@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}public static void main(String[] args) {ShallowCopyExample e1 = new ShallowCopyExample();ShallowCopyExample e2 = null;try {e2 = (ShallowCopyExample) e1.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}e1.setData(0, 999);int[] e2Data = e2.getData();System.out.println("Shallow Copy Example: " + e2Data[0]); // 输出 999,因为是浅拷贝}
}

深拷贝

和上面浅拷贝不同的是重写 clone() 方法,在其中不仅调用 super.clone(),还要为所有的对象成员变量创建新的实例。

public class DeepCopyExample implements Cloneable {private int[] data;public DeepCopyExample() {data = new int[10];for (int i = 0; i < data.length; i++) {data[i] = i;}}public void setData(int index, int value) {data[index] = value;}public int[] getData() {return data;}@Overrideprotected Object clone() throws CloneNotSupportedException {DeepCopyExample copy = (DeepCopyExample) super.clone();copy.data = data.clone(); // 复制数组,而不是引用return copy;}public static void main(String[] args) {DeepCopyExample e1 = new DeepCopyExample();DeepCopyExample e2 = null;try {e2 = (DeepCopyExample) e1.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}e1.setData(0, 999);int[] e2Data = e2.getData();System.out.println("Deep Copy Example: " + e2Data[0]); // 输出 0,因为是深拷贝}
}
http://www.yayakq.cn/news/65456/

相关文章:

  • 柳州公积金网站烟台营销型网站建设
  • 个人网站名称要求app在地区国家未提供怎么办
  • 网上做家教的网站优化公司管理
  • 网站设置万事达u卡想系统学习wordpress
  • 营销型网站建设的利与弊网站推广的建议
  • 哪里可以自己免费开网店北京网站建设 seo公司
  • 中山手机网站开发网页游戏制作难吗
  • 成都网站快速排名成都比较好的室内设计公司有哪些
  • 重庆广告网站推广广州网站建设方案案例
  • 网站策划书免费购物网站,购物车界面如何做
  • 外贸公司域名哪个网站申请比较好导购网站 转化率
  • 小时的网站建设百度开户多少钱
  • 找做外墙油漆网站一个静态网站开发考虑什么
  • 怎么判断网站被k广州网站建设网站优化网站推广
  • 天津响应式网站建设制作广东住房和城乡建设局网站首页
  • 购物网站的建设意义设计网站费用
  • 网站建设工作进度表医院行业的网站是很难做吗
  • 网站怎么做内链企业微网站怎么建设
  • 有什么字体设计网站好周口市公共资源交易中心
  • 网站免费正能量推荐微营销论文
  • 推销网站建设具备哪些知识开鲁网站seo不用下载
  • 北京企业网络推广外包手机端网站优化排名seo推广
  • 免费网站正能量入口下载怎么爬虫做网站
  • 网站高端建设开发公司电商网站开发的职责
  • 公众号建网站租房网站开发需求文档
  • 付费网站怎么制作展厅设计图片
  • 深圳海外医疗网站建设怎么建网站赚钱
  • 如何优化基础建站wordpress 栏目权限
  • 江苏省交通运输厅门户网站建设管理网站开发的收获体会
  • 云浮 网站建设wordpress 首页变量