论述c与c在继承性和多态性上的异同

论述c与c在继承性和多态性上的异同

ID:33784664

大小:90.88 KB

页数:10页

时间:2019-03-01

论述c与c在继承性和多态性上的异同_第1页
论述c与c在继承性和多态性上的异同_第2页
论述c与c在继承性和多态性上的异同_第3页
论述c与c在继承性和多态性上的异同_第4页
论述c与c在继承性和多态性上的异同_第5页
资源描述:

《论述c与c在继承性和多态性上的异同》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、论述C#与C++在继承性和多态性上的异同C++语言是一种同时支持面向过程程序设计和面向对彖程序设计的混合型高级程序设计语言。C++支持封装性、继承性和多态性。C#是从C和C++语言演化而来的,它在语句、表达式和运算符方面沿用了许多C++的功能,同时也有着相当大的改进和创新。为了提高软件模块的可复用性和可扩充性,以便提高软件的开发效率,我们总是希望能够利用前人或自己以前的开发成果,同时又希望在自己的开发过程中能够有足够的灵活性,不拘泥于复用的模块。C#这种完全面向对彖的程序设计语言提供了两个重要的特性一继承性和多态性。一、继承性:继承是面向对彖程序设计的主要特征之一,它可以

2、让您重用代码,可以节省程序设计的时I'可。继承就是在类之间建立一种相交关系,使得新定义的派生类的实例可以继承已有的基类的特征和能力,而且可以加入新的特性或者是修改己有的特性建立起类的新层次。我们从C#的派生和C++的派生类的定义格式和例子来分析。(1)C#:[访问修饰符]Class类名[:基类名]{类的成员;};例子:usingSystem;publicclassPerson//这是一个基类{//定义数据成员publicstringName;//姓名publiccharSex;//性别〃定义构造函数,以初始化字段publicPerson(stringname,charse

3、x){Name=name;Sex=sex;}//定义方法成员publicstringAnswer(){returnstring.Format(,z姓名:{0},性别:{1}°"、Name,Sex);pub1icclassStudent:Person//这是一个派生类//扩展数据成员publicstringSchool;//学校privateintScore;//成绩〃定义构造函数,自动调用基类的构造函数辅助完成字段的初始化publieStudent(stringname,charsex,stringschool,intscore):base(name,sex){Schoo

4、l=school;Score=score;}//扩展方法成员publicfloatExamine()//返回考试成绩{returnScore;}}classTestClass{staticvoidMain(){//创建Student对象Students=newStudent(/z张伟",’男',"电子科大成都学院",480);Console.WriteLine("该生信息如下:");Console.WriteLine(s.Answer());//调用对象继承来的方法Console.WriteLine(z,学校:{0},考试成绩:{1}〃,s.School,s.Examin

5、e());}}(1)C++:Class<派生类名〉:[继承方式]<基类名1>[,[继承方式]<基类名2>,、'、'[继承方式]<基类名3>]{〈派生类新增的数据成员和成员函数定义〉};例子:typedefcharstring80[80];classDate{pub1ic:DateO{}Date(inty,intm,intd){SetDate(y,m,d);}voidSetDate(inty,intm,intd)Year=y;Month=m;Day=d;}voldGetStringDate(string80&Date){sprintf(Date,"%d/%d/%d",Yea

6、r,Month,Day);}protected:intYear,Month,Day;};classTime{pub1ic:TimeO{}Time(inth,intm,ints){SetTime(h,m,s);}voidSetTime(inth,intm,ints){Hours=h;Minutes=m;Seconds=s;}voidGetStringTime(string80&Time){sprintf(Time,〃%d:%d:%cT,Hours,Minutes,Seconds);}protected:intHours,Minutes,Seconds;};classTime

7、Date:publicDate,publicTime{public:TimeDate():Date(){}Time(h,Seconds);TimeDate(inty,intmo,intd,inth,intmi,ints):Date(y,mo,d),mi,s){}voidGetStringDT(stringBO&DTstr){sprintf(DTstr,"%d/%d/%d;%d:%d:%d",Year,Month,Day,Hours,Minutes,}};voidmain()TimeDatedatel,date2(199&&12

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

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

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