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

提供扬中网站建设做参茸产品的网站

提供扬中网站建设,做参茸产品的网站,长春网站建设长春电梯公司,人力资源公司属于什么行业类别概述 原型模式是一种创建型设计模式#xff0c;它允许你复制已有对象#xff0c;而无需使代码依赖它们所属的类。新的对象可以通过原型模式对已有对象进行复制来获得#xff0c;而不是每次都重新创建。 原型模式包含如下角色#xff1a; 抽象原型类#xff1a;规定了具…概述 原型模式是一种创建型设计模式它允许你复制已有对象而无需使代码依赖它们所属的类。新的对象可以通过原型模式对已有对象进行复制来获得而不是每次都重新创建。 原型模式包含如下角色 抽象原型类规定了具体原型对象必须实现的的 clone() 方法。具体原型类实现抽象原型类的 clone() 方法它是可被复制的对象。访问类使用具体原型类中的 clone() 方法来复制新的对象。 案例 简介接口 public interface IResume {//填写资料void SetPersonInfo(int age, string sex);//打印资料void Display();//克隆方法object Clone(); } 具体类 public class Resume : IResume {private string name;private int age;private string sex;// 构造函数初始化姓名public Resume(string name){this.name name;}// 填写个人信息public void SetPersonInfo(int age, string sex){this.age age;this.sex sex;}//打印public void Display(){Console.WriteLine(姓名 name);Console.WriteLine(年龄: age ,性别: sex);}// 克隆该实例public object Clone(){return MemberwiseClone() as Resume;} } 测试 模拟创建了一份阿豪的简介克隆给B对象并对B对象的年龄进行更改 public static void Main(string[] args){//创建原型A对象Resume a new Resume(阿豪);a.SetPersonInfo(18, 男);//克隆给B对象Resume b a.Clone() as Resume;//修改B对象的内容b.SetPersonInfo(20, 男);Console.WriteLine(----------------A--------------);a.Display();Console.WriteLine(----------------B--------------);b.Display();} 再来对比一下克隆的对象与原对象 // 测试AB? // 对任何的对象x都有x.clone() !x即克隆对象与原对象不是同一个对象 Console.Write(AB ? ); Console.WriteLine(a b);// 对任何的对象x都有x.clone().GetType()x.GetType()即克隆 Console.Write(A.GetType()B.GetType() ? ); Console.WriteLine(a.GetType() b.GetType()); 总结 原型模式的优点 原型模式在内存中复制对象不会调用类的构造函数性能优良。简化了创建过程。在类初始化需要消耗非常多的资源的情况下可以通过复制原型避免重复的初始化过程。可以避免构造函数的约束。复制一个已存在的实例可以很好地保持现有实例的数据。增加或减少产品类非常方便。客户端不需要因为创建者的更改而更改。 原型模式的缺点 需要对每一个类都配置一个 clone 方法clone 方法位于类的内部当对已有类进行改造的时候需要修改代码违背了开闭原则。当实现深拷贝时需要编写较为复杂的代码而且当对象之间存在多重嵌套引用时为了实现深拷贝每一层都要提供深拷贝的实现方法。必须维护对克隆对象的正确性特别是在运行时状态变化时。
http://www.w-s-a.com/news/519088/

相关文章:

  • 河北省住房建设厅政务网站网络营销推广的岗位职责有哪些
  • 上海网站建设优化价格孝义做网站的公司
  • 哪个公司网站做的最好义乌 网站 制作
  • 百度站长工具综合查询wordpress 上传pdf
  • 旅游短租公寓网站建设深圳龙岗招聘网
  • 做海淘是在哪个网站网络查控系统设计方案
  • o2o网站建设代理商微信公众号开发文档
  • 网站设计课程总结关于网站备案的公告
  • 网站建设与运营意义到哪查找网站域名
  • 网站及单位网站建设情况眉县住房和城市建设局网站
  • 网站是否能够被恶意镜像wordpress占用
  • 经典设计网站网站等保测评怎么做
  • 重庆做网站公司贴吧廊坊公司快速建站
  • 海外贸易在什么网站做怎么排名到百度第一页
  • 线上注册公司是在哪个网站做高仿网站
  • 网站构架图网上推广平台哪个好
  • 公司网站首页图片素材vi设计的目的和意义
  • 网站的需求分析都有哪些内容济南营销型网站建设团队
  • 怎么选择优秀的网站建设公司生鲜网站开发
  • 如何编写网站建设销售的心得网站的权限管理怎么做
  • 网站业务员好做吗无忧网站优化
  • 网站随机代码网站建设费 账务处理
  • 商洛网站建设哪家好网站建设 织梦者
  • 怎么创建收费网站宁夏住房和城乡建设部网站
  • 怎么确认网站是什么语言做的用php和mysql做网站
  • 安徽做网站的公司有哪些星子网络公司
  • 肥西县重点工程建设管理局网站wordpress界面菜单怎么弄
  • 宁夏网站开发设计说明书wordpress主题背景图片
  • 同一个阿里云可以做两个网站吗织梦 帝国 学校网站
  • 城阳网站建设培训网站后台怎么上传文件