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

网站引导页分为三个板块设计风格seo实战密码第三版pdf下载

网站引导页分为三个板块设计风格,seo实战密码第三版pdf下载,佛山做外贸网站推广,wordpress后台修改代码原型模式(Prototype Pattern)是设计模式中的一种创建型模式,目的是通过复制现有的对象来创建新的对象,而不是通过传统的实例化方式。原型模式常常用于需要创建大量类似对象的场景,可以提高性能并减少资源的消耗。下面将…

原型模式(Prototype Pattern)是设计模式中的一种创建型模式,目的是通过复制现有的对象来创建新的对象,而不是通过传统的实例化方式。原型模式常常用于需要创建大量类似对象的场景,可以提高性能并减少资源的消耗。下面将详细介绍原型模式的基本概念、对象克隆的实现、深克隆与浅克隆的区别以及原型模式的适用场景。

什么是原型模式

原型模式的核心思想是:通过“复制”一个已有的实例(原型),来创建新的对象,而不需要重新初始化一个新的对象。这样可以避免一些对象的重复构建,尤其是当对象的创建成本较高时,使用原型模式可以显著提高性能。

原型模式的结构

原型模式通常由以下几个部分构成:

  • Prototype(原型)接口:该接口声明一个克隆方法(如 clone()),该方法用于克隆当前对象。
  • ConcretePrototype(具体原型):实现克隆方法的具体类,通常该类中包含需要复制的属性或数据。
  • Client(客户端):负责使用原型对象,通过调用原型的克隆方法来创建新的实例。

对象克隆

对象克隆指的是通过现有对象创建一个完全相同的新对象。克隆操作可以通过两种方式实现:

  • 浅克隆(Shallow Copy):仅复制对象本身的引用,不复制引用类型的属性对象。即复制对象的字段,但引用类型的字段仍然指向原对象中的相同地址。
  • 深克隆(Deep Copy):复制对象及其所有引用的对象,确保原对象和新对象之间完全独立。所有的对象和其包含的引用对象都会被重新创建一份。

浅克隆(Shallow Copy)

浅克隆是指复制对象时,只复制对象的基本数据类型字段和引用类型字段的引用,而不对引用类型字段指向的对象进行克隆。换句话说,浅克隆会使得原对象和克隆对象共享某些引用数据。

示例:浅克隆
class Person implements Cloneable {private String name;private int age;private Address address;public Person(String name, int age, Address address) {this.name = name;this.age = age;this.address = address;}public Object clone() throws CloneNotSupportedException {return super.clone(); // 使用 Object 类的 clone() 方法进行浅克隆}// Getter and Setter
}class Address {private String street;public Address(String street) {this.street = street;}// Getter and Setter
}

在上述示例中,Person类实现了 Cloneable 接口,并通过 super.clone() 实现了浅克隆。Personaddress 字段是一个引用类型,浅克隆后,原对象和克隆对象会共享同一个 Address 对象。

深克隆(Deep Copy)

深克隆是指复制对象时,不仅复制对象本身,还递归地复制对象中所有引用类型字段所指向的对象。这样,原对象和克隆对象就完全独立,互不干扰。

示例:深克隆
class Person implements Cloneable {private String name;private int age;private Address address;public Person(String name, int age, Address address) {this.name = name;this.age = age;this.address = address;}public Object clone() throws CloneNotSupportedException {// 深克隆:手动克隆 address 对象Person cloned = (Person) super.clone();cloned.address = (Address) address.clone();return cloned;}// Getter and Setter
}class Address implements Cloneable {private String street;public Address(String street) {this.street = street;}public Object clone() throws CloneNotSupportedException {return super.clone(); // 递归克隆地址对象}// Getter and Setter
}

在这个例子中,Person类通过手动克隆address对象实现了深克隆。原对象和克隆对象的address字段是独立的,即使修改一个对象的address,另一个对象的address也不会受到影响。

浅克隆与深克隆的区别

特性浅克隆(Shallow Copy)深克隆(Deep Copy)
复制对象仅复制对象的基本数据类型字段和引用类型字段的引用复制对象及其所有引用类型字段指向的对象
引用类型字段引用类型字段指向相同的对象引用类型字段指向独立的对象
性能较高,克隆操作较为简单较低,需递归克隆所有对象
适用场景当对象中没有嵌套引用类型,或者引用类型对象无需独立时当对象中包含嵌套引用类型,并且需要独立的对象时

原型模式的适用场景

原型模式适用于以下几种情况:

  1. 对象创建成本较高或复杂:当创建对象非常复杂或资源消耗较大时,可以通过克隆现有对象来节省时间和资源。

示例:当创建一个数据库连接对象时,通常建立连接需要很多时间和系统资源,而通过克隆一个已连接的对象来获得一个新的连接,效率会更高。

  1. 需要复制多个相似对象:当需要创建一批类似的对象时,通过复制现有的对象来避免重复的初始化过程。

示例:在图形设计软件中,可以复制一个已有的图形(如矩形、圆形等)来创建新图形,而不需要重新绘制。

  1. 需要变更部分属性:当对象的大部分属性保持不变时,可以通过克隆现有对象并修改部分属性来生成新的对象。

示例:在游戏中,玩家创建角色时,可以复制一个已有的角色模板,然后修改角色的一些属性(如装备、技能等)来快速创建新角色

http://www.wooajung.com/news/27055.html

相关文章:

  • 做关于什么样的网站好seo网络优化招聘信息
  • 成都人高清影院品牌加盟上海网站排名seo公司哪家好
  • 河北省住房和建设厅网站网上营销方法
  • 唐山网站主页制作培训seo去哪家机构最好
  • 做公司网站哪家好网站点击量软件
  • 怎样做理财投资网站重庆seo优化推广
  • 哈尔滨网站建设一薇ls15227seo优化大公司排名
  • 设计家官网下载网站seo外包公司有哪些
  • 一个空间怎么做两个网站关键词seo价格
  • 湖南关键词优化品牌推荐网站优化怎么操作
  • 企业年金交了有好处吗seo网站排名优化工具
  • 外贸网站建设入门黑帽seo之搜索引擎
  • 深圳网站建设外包公司哪家好成人英语培训班哪个机构好
  • 文昌建设局网站搜索关键词推荐
  • 网站建设仟首先金手指12百度广告一级代理
  • 无锡做网站公司有哪些电话兔子bt樱桃搜索磁力天堂
  • 网站建设营销营销方案
  • 饰品做商城网站模式广告推广策划方案
  • 学院网站的作用网站自助建站系统
  • 买好域名和云主机后怎么做网站百度快照如何优化
  • 网站后台 生成所有页面进入百度网首页
  • 郑州有哪些做网站的公司免费seo优化工具
  • 企业网站的功能可分为前台和后台两个部分商品seo优化是什么意思
  • 广州网站制作后缀百度收录刷排名
  • 日本一级做a在线播放免费视频网站发布软文广告
  • 做旅游的网站的目的和意义网上怎么做推广
  • 拍拍网的网站建设推广恶意点击软件怎样使用
  • 中文域名注册报价表优优群排名优化软件
  • 手机网站制作套餐长春网站提升排名
  • 电商需要投资多少钱信息流优化师发展前景