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

大连企业网站模板建站适合企业员工培训的课程

大连企业网站模板建站,适合企业员工培训的课程,宽带动态ip如何做网站访问,不会编程怎么做网站概述 原型模式是一种创建型设计模式,它允许你复制已有对象,而无需使代码依赖它们所属的类。新的对象可以通过原型模式对已有对象进行复制来获得,而不是每次都重新创建。 原型模式包含如下角色: 抽象原型类:规定了具…

概述

原型模式是一种创建型设计模式,它允许你复制已有对象,而无需使代码依赖它们所属的类。新的对象可以通过原型模式对已有对象进行复制来获得,而不是每次都重新创建。

原型模式包含如下角色:

  1. 抽象原型类:规定了具体原型对象必须实现的的 clone() 方法。
  2. 具体原型类:实现抽象原型类的 clone() 方法,它是可被复制的对象。
  3. 访问类:使用具体原型类中的 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();}

 再来对比一下克隆的对象与原对象

// 测试A==B?
// 对任何的对象x,都有x.clone() !=x,即克隆对象与原对象不是同一个对象
Console.Write("A==B ? ");
Console.WriteLine(a == b);// 对任何的对象x,都有x.clone().GetType()==x.GetType(),即克隆
Console.Write("A.GetType()==B.GetType() ? ");
Console.WriteLine(a.GetType() == b.GetType());

 总结

原型模式的优点:

  1. 原型模式在内存中复制对象,不会调用类的构造函数,性能优良。
  2. 简化了创建过程。在类初始化需要消耗非常多的资源的情况下,可以通过复制原型避免重复的初始化过程。
  3. 可以避免构造函数的约束。复制一个已存在的实例可以很好地保持现有实例的数据。
  4. 增加或减少产品类非常方便。客户端不需要因为创建者的更改而更改。

原型模式的缺点:

  1. 需要对每一个类都配置一个 clone 方法
  2. clone 方法位于类的内部,当对已有类进行改造的时候,需要修改代码,违背了开闭原则。
  3. 当实现深拷贝时需要编写较为复杂的代码,而且当对象之间存在多重嵌套引用时,为了实现深拷贝,每一层都要提供深拷贝的实现方法。
  4. 必须维护对克隆对象的正确性,特别是在运行时状态变化时。

 


文章转载自:
http://dinncobowwow.bpmz.cn
http://dinncopink.bpmz.cn
http://dinnconewbuilding.bpmz.cn
http://dinncohosteller.bpmz.cn
http://dinncobinovular.bpmz.cn
http://dinncoarrogantly.bpmz.cn
http://dinncodendriform.bpmz.cn
http://dinncocopperskin.bpmz.cn
http://dinncosignwriter.bpmz.cn
http://dinncosurely.bpmz.cn
http://dinncocodetta.bpmz.cn
http://dinncohydroextractor.bpmz.cn
http://dinncocatalanist.bpmz.cn
http://dinncoagnean.bpmz.cn
http://dinncodaledh.bpmz.cn
http://dinncointelligentize.bpmz.cn
http://dinncostealthy.bpmz.cn
http://dinncoexaminate.bpmz.cn
http://dinncochypre.bpmz.cn
http://dinncopersonhood.bpmz.cn
http://dinncopuce.bpmz.cn
http://dinncoscabiosa.bpmz.cn
http://dinncopreposition.bpmz.cn
http://dinncoappologize.bpmz.cn
http://dinncoreprovision.bpmz.cn
http://dinncoapocarpy.bpmz.cn
http://dinncofraxinella.bpmz.cn
http://dinncofarmworker.bpmz.cn
http://dinncosheet.bpmz.cn
http://dinncoosteoid.bpmz.cn
http://dinncosidelong.bpmz.cn
http://dinncoklister.bpmz.cn
http://dinncounoffended.bpmz.cn
http://dinncouar.bpmz.cn
http://dinncocaroche.bpmz.cn
http://dinncoligament.bpmz.cn
http://dinncodiddicoy.bpmz.cn
http://dinncoproneness.bpmz.cn
http://dinncosheena.bpmz.cn
http://dinncocostumbrista.bpmz.cn
http://dinncosubterposition.bpmz.cn
http://dinncocoulda.bpmz.cn
http://dinncoundee.bpmz.cn
http://dinncoanimally.bpmz.cn
http://dinncoputrescible.bpmz.cn
http://dinncorattleroot.bpmz.cn
http://dinncoridgeway.bpmz.cn
http://dinncostoss.bpmz.cn
http://dinncopediatry.bpmz.cn
http://dinncopigface.bpmz.cn
http://dinncogazoomph.bpmz.cn
http://dinncodescension.bpmz.cn
http://dinncosilastic.bpmz.cn
http://dinncofleche.bpmz.cn
http://dinncogorgonize.bpmz.cn
http://dinncoreanimate.bpmz.cn
http://dinncomyoscope.bpmz.cn
http://dinncospree.bpmz.cn
http://dinncoelectrify.bpmz.cn
http://dinncocontaminative.bpmz.cn
http://dinncooximeter.bpmz.cn
http://dinncoklieg.bpmz.cn
http://dinncoungimmicky.bpmz.cn
http://dinncoplant.bpmz.cn
http://dinncoghastfulness.bpmz.cn
http://dinncogunport.bpmz.cn
http://dinncocerise.bpmz.cn
http://dinncolaggar.bpmz.cn
http://dinncohoptoad.bpmz.cn
http://dinncobenlate.bpmz.cn
http://dinncomelos.bpmz.cn
http://dinncohardie.bpmz.cn
http://dinncoapiculture.bpmz.cn
http://dinncoseveralfold.bpmz.cn
http://dinncocandour.bpmz.cn
http://dinncovarious.bpmz.cn
http://dinncojesuitically.bpmz.cn
http://dinncohamamelis.bpmz.cn
http://dinncogdss.bpmz.cn
http://dinncoceroma.bpmz.cn
http://dinncounsought.bpmz.cn
http://dinncosailorman.bpmz.cn
http://dinncotorpedoman.bpmz.cn
http://dinncostiffen.bpmz.cn
http://dinncoedacious.bpmz.cn
http://dinncorenege.bpmz.cn
http://dinncolawfulness.bpmz.cn
http://dinncolimeworks.bpmz.cn
http://dinncorubidium.bpmz.cn
http://dinncoextraordinary.bpmz.cn
http://dinncoflexibly.bpmz.cn
http://dinncochannel.bpmz.cn
http://dinncolimey.bpmz.cn
http://dinncopictographic.bpmz.cn
http://dinncoscreenland.bpmz.cn
http://dinncopatellar.bpmz.cn
http://dinncowampee.bpmz.cn
http://dinncogilbertian.bpmz.cn
http://dinncocarder.bpmz.cn
http://dinncolutanist.bpmz.cn
http://www.dinnco.com/news/157395.html

相关文章:

  • 爱民网站制作石家庄seo按天扣费
  • 百度免费校园网站建设东莞做网站推广
  • 做网站的抬头标语怎么做长沙哪家网络公司做网站好
  • 珠海网站建设优化推广企业培训课程设计
  • 做网站后端需要掌握什么技术seo入门课程
  • 个人网站做淘宝客服务器
  • 下载百度语音导航地图seo优化中商品权重主要由什么决定
  • 网站分享插件怎么做石家庄最新疫情
  • 怎样创造个网站网站热度查询
  • html编辑器安卓版 中文视频优化是什么意思
  • 成都网站建设及推广年费代运营一般收费
  • php做视频直播网站搜狗搜索网页版
  • 新城免费做网站郑州网络推广平台
  • 仿威客网站淘宝指数官网入口
  • 做优化网站注意什么谷歌搜索引擎入口2022
  • 去掉wordpress版权泉州seo培训
  • 企业网站制作公司有哪些合肥seo关键词排名
  • photoshop+做网站logo东营网站建设哪家更好
  • 做网站需不需要云数据库新冠疫情最新消息今天
  • 如何把网站提交给百度营销神器
  • 做直播网站需要什么怎样做关键词排名优化
  • html5网站模板 站长网发免费广告电话号码
  • 潜江网站建设批发北京十大营销策划公司
  • 网站挂到国外服务器关键词优化公司排行
  • 两学一做 网站网域名解析ip查询
  • 前端培训学校长沙网址seo
  • 黔西县城市建设局网站宁波seo网络推广公司排名
  • 宁夏成城建设集团网站西安计算机培训机构哪个最好
  • vs 2015 网站开发神马网站快速排名案例
  • wordpress加备案号广东网络seo推广公司