设计模式C#案例

设计模式C#案例

ID:40200753

大小:153.50 KB

页数:10页

时间:2019-07-25

设计模式C#案例_第1页
设计模式C#案例_第2页
设计模式C#案例_第3页
设计模式C#案例_第4页
设计模式C#案例_第5页
资源描述:

《设计模式C#案例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、设计模式C#案例GRASP-通用责任分配软件模式,GoF-“四人帮”设计模式。以下案例,JAVA和VC++程序员请分别采用JAVA和VC++程序实现。为减少测试代码量,采用了C#控制台应用程序;编程环境为微软VS.Net2008。1.GRASP模式:多态–C#案例学习多态以及集合类(Main方法中List和Array类)的用法。多态案例:Person类有虚方法Show(),该类派生出2个子类:Student、Teacher。1.1设计类图1.2案例代码publicclassPerson{publicPerson(){}publicPerson(stringname,str

2、ingsex){this.Name=name;this.Sex=sex;}publicoverridestringToString(){return"name"+Name+",sex"+Sex+";";}publicvirtualvoidShow()//C#虚方法{Console.WriteLine("Person:"+this.ToString());}publicstringName{get;set;}publicstringSex{get;set;}}publicclassStudent:Person{publicStudent(){}publicStudent(stri

3、ngname,stringsex,stringstudentNo,stringclassname){this.Name=name;this.Sex=sex;this.StudentNO=studentNo;this.Classname=classname;}publicoverridestringToString(){returnbase.ToString()+"studentNO"+StudentNO+",class"+Classname+";";}publicoverridevoidShow(){Console.WriteLine("Student:"+this.ToStr

4、ing());}publicstringStudentNO{get;set;}publicstringClassname{get;set;}}publicclassTeacher:Person{publicTeacher(){}publicTeacher(stringname,stringsex,stringdepartment,stringprofessionalTitle){this.Name=name;this.Sex=sex;this.Department=department;this.ProfessionalTitle=professionalTitle;}publ

5、icoverridestringToString(){returnbase.ToString()+"department"+Department+",professionaltitle"+ProfessionalTitle+";";}publicoverridevoidShow(){Console.WriteLine("Teacher:"+this.ToString());}publicstringDepartment{get;set;}publicstringProfessionalTitle{get;set;}}classProgram{staticvoidMain(str

6、ing[]args){Console.WriteLine("TestclassSystem.Collections.Generic.List..");Listpersons=newList();//Person家族(Person及其子孙类)类对象均可存入其中Personp1=newPerson("张三","男");persons.Add(p1);//List.Add()方法persons.Add(newPerson("李丽","女"));persons.Add(newStudent("张强","男","201201189","计科12

7、01"));persons.Add(newPerson("Jack","man"));persons.Add(newTeacher("田建华","男","电信学院","讲师"));persons.Add(newTeacher("包小军","男","计科院","副教授"));foreach(Personpinpersons)p.Show();//此时调用的是哪个类的Show()方法?persons.Remove(p1);//List.Remove()方法foreach(Personpin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。