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

广州网站搭建多少钱网站数据修改

广州网站搭建多少钱,网站数据修改,优化方案语文必修下册答案,高德地图国际版文章目录 简介场景解决示例1. 基础抽象父类定义2. 矩形子类实现3. 圆形子类实现4. 客户端调用示例 总结 简介 原型是一种创建型设计模式,它允许你复制现有对象,而不需要依赖它们的类。 场景 假设你有一个对象,你想创建它的一个完美副本。你…

文章目录

  • 简介
  • 场景
  • 解决
  • 示例
    • 1. 基础抽象父类定义
    • 2. 矩形子类实现
    • 3. 圆形子类实现
    • 4. 客户端调用示例
  • 总结

简介

原型是一种创建型设计模式,它允许你复制现有对象,而不需要依赖它们的类。

场景

假设你有一个对象,你想创建它的一个完美副本。你会怎么做?首先,你必须创建一个相同类的新对象。然后你必须遍历原始对象的所有字段,并把它的值复制到新对象。
但是有一个问题。某些对象的字段可能是私有的,从对象本身外部不可见。
在这里插入图片描述

直接复制还有一个问题。你必须知道对象的类才能创建副本,因此你的代码会依赖这个类。有时你只知道对象实现的接口,但不知道具体类。

解决

原型模式把克隆过程委托给要克隆的实际对象。它为所有要克隆的对象声明一个通用接口。此接口允许你克隆对象,但不需要把代码与对象的类耦合。通常,这样的接口只包含一个clone方法。
clone的实现在所有类中类似。它创建当前类的一个对象,并且把旧对象的所有字段值转移到新对象里。你甚至可以复制私有字段,因为大多数编程语言都允许对象访问属于同一类的其他对象的私有字段。
支持克隆的对象称为原型

示例

在这里插入图片描述

1. 基础抽象父类定义

abstract class Shape implements Cloneable {protected int xCoord;protected int yCoord;protected String fillColor;// 基础构造方法public Shape() {this.xCoord = 0;this.yCoord = 0;this.fillColor = "#FFFFFF";  // 默认填充颜色}// 原型构造方法(拷贝构造核心)protected Shape(Shape prototype) {this.xCoord = prototype.xCoord;         // 坐标克隆this.yCoord = prototype.yCoord;         // 实现位置复制this.fillColor = prototype.fillColor;   // 颜色属性继承}public abstract Shape clone();
}

2. 矩形子类实现

class Rectangle extends Shape {private int width;private int height;public Rectangle(Rectangle source) {super(source);             // 调用父类拷贝构造this.width = source.width;       // 特有属性复制this.height = source.height;     // 包括宽高参数}@Overridepublic Rectangle clone() {     // 返回具体子类类型return new Rectangle(this);     // 原型引导构造}
}

3. 圆形子类实现

class Circle extends Shape {private int radius;public Circle(Circle source) {super(source);           // 父类属性初始化this.radius = source.radius;   // 半径参数拷贝}public void setRadius(int r) {this.radius = r;          // 半径独立可变}@Overridepublic Circle clone() {return new Circle(this);      // 生成新实例}
}

4. 客户端调用示例

Shape prototype = new Circle();
prototype.setPosition(15, 20);
prototype.setColor("#FFA500");// 快速生成克隆体
Shape clonedCircle = prototype.clone();  // 无需知道具体类型
clonedCircle.move(5, 5);                 // 获得独立坐标// 构造矩形原型
Shape rectProto = new Rectangle();
rectProto.setSize(100, 200);            // 原始配置
Shape clonedRect = rectProto.clone();   // 完美复制属性

总结

在这里插入图片描述

  1. 原型(Pro­to­type)接口:声明Clone方法。在绝大多数情况下,里面只会有一个clone方法。
  2. 具体原型(Con­crete Pro­to­type)类:实现Clone方法。除了把原始对象的数据复制到新的克隆体中之外,这个方法有时还需处理克隆过程中的极端情况,例如克隆关联对象和递归依赖等等。
  3. 客户端(Client)可以复制实现了原型接口的任何对象。

文章转载自:

http://mBYgLPxh.brnwc.cn
http://hBc2Y8CZ.brnwc.cn
http://fBxnFWwh.brnwc.cn
http://ba4AT5Wn.brnwc.cn
http://QY9KODdL.brnwc.cn
http://qvGrthik.brnwc.cn
http://XCvX1szX.brnwc.cn
http://Wn4pIris.brnwc.cn
http://yoNkOQo7.brnwc.cn
http://JntjQb1p.brnwc.cn
http://uqjmhZwG.brnwc.cn
http://Fn4woZyX.brnwc.cn
http://vMPFkrUu.brnwc.cn
http://G0Xj0L4V.brnwc.cn
http://LiotT0FY.brnwc.cn
http://yLF2yLVj.brnwc.cn
http://PvHJy9lP.brnwc.cn
http://fdLGff99.brnwc.cn
http://rnuEWghz.brnwc.cn
http://Yz4ZJVvu.brnwc.cn
http://dS9nJaA8.brnwc.cn
http://vDBywGyV.brnwc.cn
http://ODVmppP7.brnwc.cn
http://EY7dJwQX.brnwc.cn
http://EHbTyb2G.brnwc.cn
http://msKL0yOb.brnwc.cn
http://hUsroEvm.brnwc.cn
http://I7gYlNRQ.brnwc.cn
http://M8TSUyIi.brnwc.cn
http://Nr36jcaU.brnwc.cn
http://www.dtcms.com/wzjs/731640.html

相关文章:

  • 手机网站 设置青州网站建设
  • 新网站建设哪家好厦门有没有做网站的
  • 中化建工北京建设投资有限公司网站google官网入口
  • 怎么当网站站长浙江建设职业技术学校网站登录
  • 营销网站模板wordpress getfooter
  • pc网站开发制作个人网站起个名字
  • 企业网站建设讲解制作企业网站得多长时间
  • 一个电商网站开发周期是多久做网站月入7000
  • 网站建设时间规划建设部网站 43号文件
  • 做网站开发使用百分比的好处南宁网站建设策划方案
  • 网站流量的重要性wordpress图文主题
  • 网站开发 开题报告国产前端框架 做网站
  • 网站用单页面框架做河南电商网站设计
  • 正规的大连网站建设网站seo排名优化软件
  • 昆明做网站优化公司百度网站验证怎么做
  • 企业如何进行网站推广芜湖那里帮人做销售网站
  • o2o网站制作中文企业网站模板html
  • 网站建设及使用商务网站建设规划心得
  • 大良营销网站建设行情个人建站需要多少钱
  • 东莞网站设计开发杭州有专业做网站小型服装厂吗
  • 高端网站建设设计公司哪家好广东建设集团有限公司官网
  • 天津高端网站建设制作茂名模板建站哪家好
  • 曲靖企业网站建设上街免费网站建设
  • 胡歌做的穿衣搭配的网站ups国际快递网站建设模块分析
  • 美食怎么做的小视频网站湘潭sem优化价格
  • 江门建站模板北京黄页
  • 网站建设成品网页布局的类型有哪些
  • 赤峰浩诚网站建设有限公司代理网页网游
  • 网站开发安全小贴士公司免费取名
  • 专业网站设计 网络服务网站建设es158