C#实验5多态抽象类

C#实验5多态抽象类

ID:37908977

大小:64.50 KB

页数:7页

时间:2019-06-02

C#实验5多态抽象类_第1页
C#实验5多态抽象类_第2页
C#实验5多态抽象类_第3页
C#实验5多态抽象类_第4页
C#实验5多态抽象类_第5页
资源描述:

《C#实验5多态抽象类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验5多态抽象类实验目的:l掌握继承的定义、特征以及语法格式l明确多态的概念,理解编译时多态和运行时多态的区别以及定义方法l掌握虚方法重载和隐藏基类方法的区别l熟练使用抽象类和抽象方法进行面向对象编程实验要求:l理解和掌握在编程中去实现继承l理解和掌握通过把子类实例的地址传给基类实例,然后通过基类实例去调用虚方法,这一种方式真正体现出的多态。l理解和掌握抽象方法在编程过程中的使用。通过调试,能够使得程序正确运行,并输出结果。实验内容:1.编写代码,定义一个基类MyClass,其中包含虚拟方法GetString().这个方法应返回存储在受保护字段myString中的字符串,该字

2、段可以通过只写公共属性ContainedString来初始化。(初始化请通过控制台由用户来输入)2.从类MyClass中派生一个类MyDerivedClass.重写GetString()方法,使用该方法的基类执行代码从基类中返回一个字符串,但在返回的字符串中添加文本”outputfromderivedclass”.usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace_2{classProgram{staticvoidMain(string[]args){M

3、yDerivedClasstt=newMyDerivedClass();MyClassmm=newMyClass();tt.ContainedString=Console.ReadLine();mm=tt;Console.WriteLine();Console.WriteLine(mm.GetString());Console.ReadKey();}}classMyClass{protectedstringmyString;publicvirtualstringGetString(){returnmyString;}publicstringContainedString{se

4、t{myString=value;}}}classMyDerivedClass:MyClass{publicoverridestringGetString(){returnbase.GetString()+"outputfromderivedclass";}}}usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacedi1{classProgram{staticvoidMain(string[]args){MyDerivedClassd=newMyDerivedClass();MyClassc

5、=d;c.ContainedString=Console.ReadLine();Console.WriteLine("基ù类え?返う?回?的?字?符?串?是?"+c.GetString());Console.ReadLine();}}classMyClass{protectedstringmyString;publicstringContainedString{set{myString=value;}}publicvirtualstringGetString(){returnmyString;}}classMyDerivedClass:MyClass{publicoverri

6、destringGetString(){returnbase.GetString()+"(outputfromderivedclass)";}}}1.利用多态性计算圆和三角形的面积以及周长。(半径、底以及高的值都通过实例化派生类的同时来指定)usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){Circlecc=newCircle(3);Shapess=cc;Conso

7、le.WriteLine("圆2的?面?积y是?:阰"+ss.GetArea());Rectanglerr=newRectangle(5,3);ss=rr;Console.WriteLine("矩?形?的?面?积y是?:阰"+ss.GetArea());Console.ReadLine();}}classShape{publicvirtualdoubleGetArea(){return0;}}classCircle:Shape{privatedoubler;publicCircle(doubler){t

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

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

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