1、打开Unity,新建一个空工程,具体如下图
2、在工程中,新建几个脚本,然后双击打开,具体如下图
3、脚本的具体代码和代码说明如下图
4、WorkExperience 脚本具体内容如下:usingSystem;publicclassWorkExperience:ICloneable{privatestringworkDate;publicstringWorkDate{ get{ returnworkDate; } set{ workDate=value; } }privatestringcompany;publicstringCompany{ get{ returncompany; } set{ company=value; } }publicObjectClone(){return(Object)this.MemberwiseClone(); }}
5、Resume脚本具体内容如下:usingUnityEngine;usingSystem;publicclassResume:ICloneable{privatestringname; privatestringsex; privatestringage; privateWorkExperiencework;publicResume(stringname){ this.name=name; work=newWorkExperience();}privateResume(WorkExperiencework){ this.work=(WorkExperience)work.Clone(); }publicvoidSetPersonalInfo(stringsex,stringage){ this.sex=sex; this.age=age; }publicvoidSetWorkExperience(stringworkDate,stringcompany){ work.WorkDate=workDate; work.Company=company; }publicvoidDisplay(){ Debug.Log(string.Format("{0}{1}{2}",name,sex,age)); Debug.Log(string.Format("工作经历:{0}{1}",work.WorkDate,work.Company)); }publicSystem.ObjectClone(){ Resumeobj=newResume(this.work); obj.name=this.name; obj.sex=this.sex; obj.age=this.age;return(System.Object)obj; }}
6、Test脚本具体内容如下:usingUnityEngine;publicclassTest:MonoBehaviour{//Usethisforinitialization voidStart(){Resumea=newResume("resume1"); a.SetPersonalInfo("男","29"); a.SetWorkExperience("2014-2016","XX公司");Resumeb=(Resume)a.Clone(); b.SetWorkExperience("2014-2017","YY企业");Resumec=(Resume)a.Clone(); c.SetWorkExperience("2014-2018","ZZ企业");a.Display(); b.Display();c.Display(); } }
7、脚本编译正确,回到Unity界面,在场景中新建一个 GameObject,并把 Test 脚本赋给 GameObject,具体如下图
8、运行场景,控制台 Console 打印如下图
9、到此,《Unity 设计模式之 原型模式的实例介绍》讲解结束,谢谢