博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式学习笔记--原型模式
阅读量:5882 次
发布时间:2019-06-19

本文共 2991 字,大约阅读时间需要 9 分钟。

1 using System; 2  3 namespace Prototype 4 { 5     ///   6     /// 作者:bzyzhang 7     /// 时间:2016/5/24 19:46:36  8     /// 博客地址:http://www.cnblogs.com/bzyzhang/ 9     /// WorkExperience说明:本代码版权归bzyzhang所有,使用时必须带上bzyzhang博客地址 10     ///  11     public class WorkExperience:ICloneable12     {13         private string workData;14 15         public string WorkData16         {17             get { return workData; }18             set { workData = value; }19         }20 21         private string company;22 23         public string Company24         {25             get { return company; }26             set { company = value; }27         }28 29         public object Clone()30         {31             return (object)this.MemberwiseClone();32         }33     }34 }
View Code
1 using System; 2  3 namespace Prototype 4 { 5     ///   6     /// 作者:bzyzhang 7     /// 时间:2016/5/24 19:36:45  8     /// 博客地址:http://www.cnblogs.com/bzyzhang/ 9     /// Resume说明:本代码版权归bzyzhang所有,使用时必须带上bzyzhang博客地址 10     ///  11     public class Resume:ICloneable12     {13         private string name;14         private string sex;15         private string age;16 17         private WorkExperience workExperience;18 19         public Resume(string name)20         {21             this.name = name;22             workExperience = new WorkExperience();23         }24 25         private Resume(WorkExperience work)26         {27             this.workExperience = (WorkExperience)work.Clone();28         }29 30         public void SetPersonalInfo(string sex,string age)31         {32             this.sex = sex;33             this.age = age;34         }35 36         public void SetWorkExperience(string timeArea,string company)37         {38             workExperience.WorkData = timeArea;39             workExperience.Company = company;40         }41 42         public void Display()43         {44             Console.WriteLine("{0}{1}{2}",name,sex,age);45             Console.WriteLine("工作经历:{0}{1}", workExperience.WorkData, workExperience.Company);46         }47 48         public object Clone()49         {50             Resume obj = new Resume(this.workExperience);51             obj.name = this.name;52             obj.sex = this.sex;53             obj.age = this.age;54 55             return obj;56         }57     }58 }
View Code
1 using System; 2 namespace Prototype 3 { 4     class Program 5     { 6         static void Main(string[] args) 7         { 8             Resume a = new Resume("大鸟"); 9             a.SetPersonalInfo("男","29");10             a.SetWorkExperience("1998-2000","xx公司");11 12             Resume b = (Resume)a.Clone();13             b.SetWorkExperience("1998-2006","YY企业");14 15             Resume c = (Resume)a.Clone();16             c.SetPersonalInfo("男","24");17             c.SetWorkExperience("1998-2003","ZZ企业");18 19             a.Display();20             b.Display();21             c.Display();22         }23     }24 }
View Code

 

转载于:https://www.cnblogs.com/bzyzhang/p/5524652.html

你可能感兴趣的文章
『TensorFlow』读书笔记_Inception_V3_上
查看>>
python爬虫从入门到放弃(四)之 Requests库的基本使用(转)
查看>>
程序员怎么留住健康?
查看>>
【ANT】ant使用
查看>>
Go基础系列:Go接口
查看>>
miniprogrampatch 提供 watch 和 computed 特性
查看>>
java按照关键字指定的key删除redis(支持模糊删除)
查看>>
information_schema系列四(跟踪,列约束,表和列)
查看>>
TreapDB is a key-value store based on Treap
查看>>
BINGMAPS地图下载及切图和重命名工具使用教程
查看>>
BYTE* To Float*
查看>>
(转)C# 把我所积累的类库全部分享给博友(附件已经上传)
查看>>
Silverlight5 无法切换输入法,无法输入中文的原因及解决初探
查看>>
游戏开发基础:方向键的组合,八方向实现
查看>>
黑书-DP-方块消除 ****
查看>>
MySQL 分区
查看>>
我的架构经验系列文章 - 后端架构 - 语言层面
查看>>
DEFERRED_SEGMENT_CREATION
查看>>
读取手机硬件信息
查看>>
一致哈希
查看>>