设计模式(六):原型模式——浅复制
来源:互联网 发布:黑塞矩阵 编辑:程序博客网 时间:2024/05/02 00:01
原型模式(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
浅复制:复制引用但不复制引用的对象,原始对象及其副本引用同一对象
//说明:MemberwiseClone()方法是这样的,如果字段是值类型的,则对该字段执行逐位复制,如果字段是引用类型,则 //复制引用但不复制引用的对象:因此,原始对象及其复本引用同一对象。这就是浅复制 class Resume : ICloneable { private string name; private string sex; private string age; private string timeArea; private string company; public Resume(string name) { this.name = name; } public void SetPersonalInfo(string sex, string age) { this.sex = sex; this.age = age; } public void SetWorkExperience(string timeArea, string company) { this.timeArea = timeArea; this.company = company; } public void Display() { Console.WriteLine("{0} {1} {2}",name,sex,age); Console.WriteLine("工作经历:{0} {1}",timeArea,company); } public object Clone() { return (Object) this.MemberwiseClone(); } }
/// <summary> /// 程序主体 /// </summary> class Program { static void Main(string[] args) { var a = new Resume("大鸟"); a.SetPersonalInfo("男","29"); a.SetWorkExperience("1999-2000","XX公司"); var b = (Resume)a.Clone(); b.SetWorkExperience("1998-2005","YY公司"); var c = (Resume) a.Clone(); c.SetPersonalInfo("男","24"); a.Display(); b.Display(); c.Display(); Console.Read(); } }
运行结果:
0 0
- 设计模式(六):原型模式——浅复制
- 设计模式(六):原型模式——深复制
- 设计模式—原型模式(六)
- 设计模式(六)——原型模式
- java设计模式-原型模式(浅复制,深复制)
- 设计模式(六)---原型模式
- 设计模式(六)原型模式
- 设计模式(六)原型模式
- 设计模式(六):原型模式
- 六、原型模式——设计模式学习笔记
- 大话设计模式笔记(六)——原型模式
- 设计模式学习--原型模式(深复制与浅复制)
- 设计模式—原型模式
- 设计模式—原型模式
- 设计模式—原型模式
- 设计模式—原型模式
- 设计模式学习笔记(六)——Prototype原型模式
- 可复用面向对象软件基础——设计模式(六)之原型模式
- 串口类 10以上串口号 \\\\.\\COM10
- eclipse jetty学习
- 简单的Creat_LinkList
- BP神经网络及MATLAB实现
- 第一次实验--NPC问题(回溯算法、聚类分析)
- 设计模式(六):原型模式——浅复制
- 关于memset
- 第1次实验——NPC问题(回溯算法、聚类分析)
- Git历险记(五)——Git里的分支&合并merge
- 程序员必须进行的10项投资
- 第1次实验——NPC问题(回溯算法、聚类分析)
- projecteuler---->problem=24----Lexicographic permutations
- 交通标志应用背透式LED主动发光技术,禄口国际机场交通环境美丽出众
- SimpleDateFormat使用