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

vr 做的网站新东方烹饪培训学校

vr 做的网站,新东方烹饪培训学校,昆明的花仙子制作的企业,流量网站怎么做原型模式是一种创建型设计模式, 用于创建对象, 而不必指定它们所属的具体类. 它通过复制现有对象 (即原型) 来创建新对象. 原型模式适用于当创建新对象的过程代价较高或复杂时, 通过克隆现有对象来提高性能 原型模式结构 原型接口. 声明一个克隆自身的接口具体原型. 实现克隆…

原型模式是一种创建型设计模式, 用于创建对象, 而不必指定它们所属的具体类. 它通过复制现有对象 (即原型) 来创建新对象. 原型模式适用于当创建新对象的过程代价较高或复杂时, 通过克隆现有对象来提高性能

原型模式结构
  • 原型接口. 声明一个克隆自身的接口
  • 具体原型. 实现克隆的具体方法
  • 客户端. 通过调用具体原型中的克隆方法来创建新对象
原型模式实现
// 原型接口
interface Prototype {Prototype clone();
}// 具体原型类
class ConcretePrototype implements Prototype {private String field;public ConcretePrototype(String field) {this.field = field;}// 实现克隆方法@Overridepublic Prototype clone() {return new ConcretePrototype(this.field);}@Overridepublic String toString() {return "ConcretePrototype{" + "field = " + field + '\'' + '}';}
}// 客户端
public class Client {public static void main(String[] args) {// 创建原型对象ConcretePrototype prototype = new ConcretePrototype("prototype");// 克隆原型对象ConcretePrototype clone = (ConcretePrototype) prototype.clone();System.out.println(prototype);System.out.println(clone);}
}

在原型模式中, 克隆可以分为浅拷贝和深拷贝

  • 浅拷贝: 复制对象时, 只复制对象本身的基本数据类型字段和对象的引用, 而不复制引用对象本身
  • 深拷贝: 复制对象时, 不仅复制对象本身的基本数据类型字段和对象的引用, 还复制所有引用对象, 递归地进行复制

下面是深拷贝和浅拷贝的实例

浅拷贝:

import java.util.ArrayList;
import java.util.List;// 具体原型类
class ConcretePrototype implements Prototype {private List<String> list;public ConcretePrototype() {this.list = new ArrayList<>();}public void addItem(String item) {this.list.add(item);}@Overridepublic Prototype clone() {try {return (ConcretePrototype) super.clone(); // 浅拷贝} catch (CloneNotSupportedException e) {e.printStackTrace();return null;}}@Overridepublic String toString() {return "ConcretePrototype{" + "list=" + list + '}';}
}

深拷贝:

import java.util.ArrayList;
import java.util.List;// 具体原型类
class ConcretePrototype implements Prototype {private List<String> list;public ConcretePrototype() {this.list = new ArrayList<>();}public void addItem(String item) {this.list.add(item);}@Overridepublic Prototype clone() {ConcretePrototype clone = new ConcretePrototype();clone.list = new ArrayList<>(this.list); // 深拷贝return clone;}@Overridepublic String toString() {return "ConcretePrototype{" + "list=" + list + '}';}
}
http://www.shuangfujiaoyu.com/news/45044.html

相关文章:

  • 合肥企业网站建设公司阜新网站seo
  • 有那些可以自己做壁纸的网站win优化大师官网
  • 建个网站 做ib代理不付费免费网站
  • 公司做网站域名归谁整站seo
  • 网站设计公司青岛免费seo网站
  • 北流市建设局网站网络推广员的日常工作
  • 重庆无障碍网站建设做企业网站哪个平台好
  • 上海建个人网站比较好的公司外贸海外推广
  • 最新国际新闻 大事件优化网哪个牌子好
  • 制作网站公司整站seo怎么做
  • 网站平面设计软文推广的标准类型
  • 重庆网络建站海南百度推广公司电话
  • 常见网站页面布局类型刷神马关键字排名软件
  • 什么网站可以找人做设计sem什么意思
  • 武汉游戏软件开发公司seo专员很难吗
  • 能上传文件的网站seo精灵
  • 哈尔滨最专业的网站建设怎么推广网站
  • 做网站可以用什么语言学营销app哪个更好
  • 建德网页制作公司武汉seo招聘
  • wordpress仿 模板家庭优化大师
  • 文创产品设计网广州seo优化排名公司
  • 绵阳做网站优化关键词搜索排名查询
  • 罗湖网站制作多少钱江门seo推广公司
  • 四川省工程建设协会网站最全bt搜索引擎入口
  • 签约做网站模板百度首页网址
  • 百度商城seo全网图文推广
  • 建e网室内设计网下载泸州网站优化推广
  • 上海网站开发的公司电商网站建设步骤
  • 南京网站设计制作北京网站优化服务
  • 贵州网站制作公司想做网络推广贵不