实验五面向对象编程进阶_第1页
实验五面向对象编程进阶_第2页
实验五面向对象编程进阶_第3页
实验五面向对象编程进阶_第4页
实验五面向对象编程进阶_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验五面向对象程进阶()一、实目的、掌握继承的概念及其应用;、掌握多态性的有效应用。二、实内容.运行下列程序,分析其执行结果?A{publicvirtualE(){Console.WriteLine(“A.E”);}virtualvoidF(){Console.WriteLine(”);}}B:A{publicvoidE(){Console.WriteLine(“B.”);}F(){Console.WriteLine(”);}}:B{E(){Console.WriteLine(“”);}virtualvoid{Console.WriteLine(”);}}D:C{F(){Console.WriteLine(”);}}{publicstaticvoidMain(){Dd=newD();Aa=d;Bb=d;a.E();c.F();}}定一个抽象shape,通过抽象方法和载方法来计算各种图形(圆和正方形)的面积和周长。三

、实验程/

对于而,A类开始往下看A类中定义了虚方E(),B类中有,C类中也有overrideE类中没E方法,所以应该隐藏继承上一类中的()方法,类方是输出C.E,所以第一次输出应为.E.版权文档,请勿用做商业用途对于.e言B类开始往下看B中有用override修饰的E

类也有用修饰()方法类中没()法,所以应该隐藏继承上一C中的()方法,而类中的E方法是输出C.E,所以第二次输出应为C.E.版对于而,要从开始往下看C中有用override,

类没有()法,所以应该隐藏继承上一次类中的(方法,C类中方法是输出C所以第三次输出应为C.E.对于.e言,应D类始下看,D类中没方法,所以应该隐藏继承上一C中的(方法,C中方是输出C所以第三次输出应C对于a.f言,A类开往下看A类中定义了虚方F类中有用override,C类中有用修的F函数,没有修F(),,D类中有用o修饰的()方法,所以应该覆C中显示的()方法,C类中隐藏的(方法并没有,仍B的F()法,所以第五次应输出.E.版权对于b而言B类开往下看类有

C类有virture修饰的函,没有用修饰的F只方法类有override修()法,所以应该覆C类中显示(方法,C类中隐藏的F)方法并没有变,仍B类的F()方法,所以第六次应输出B对于.f而言,类开始往下看类中有用virture修饰的F数,D类中有修饰的()方法,所以应该覆中显示的F()方法所以第七次应输D对于d而言,D类始往下看但D类有()方法,类中有用v修饰的F函数,所以应该覆盖类中的()方法,所以第八次应输D.E.版权文档,请勿用做商业用途System.Collections.Generic;System.Text;namespaceConsoleApplication2{public{/

publicGetarea();publicGetLength();}publicCircle:Shape{doubleradius;public{get;}publicCircle(double{radiusr;}publicoverridedoubleGetarea(){System.Math.PI**radius;}publicoverridedoubleGetLength(){System.Math.PI**}}public:{doublepublicSide{get;}publicSquare(s){=s;}publicoverridedoubleGetarea(){*side;}publicoverridedoubleGetLength(){*4;}}/

classTest{publicvoidMain(){doubleConsole.Write("请输?圆2径:);=doubleConsole=Circle(r);Console.WriteLine("圆2面积y为aêo"Math(cir.Getarea(),2));

请勿用做Console.WriteLine("圆2周¨¡êo"+System.Math.Round(cir.GetLength(),2));

请勿Console.Write("请输?正y方形边À¡:êo");s=double.Parse(Console.ReadLine());=newConsole.WriteLine("正y方??积y为:

Console.WriteLine("正y方??¨¹长¡a:+squ.GetLength());Console

}}}System.Collections.Generic;System.Text;namespaceConsoleApplication2{publicShape{publicdoublepublicdoubleGetLength();}publicShape{doubleradius;publicdouble{set;}publicCircle(doubler){/

radiusr;}publicoverridedouble{System.Math.PI*radius*radius;}publicoverridedoubleGetLength(){System.Math.PI*radius*2;}}publicSquare:Shape{doubleside;publicdoubleSide{set;}publicSquare(double{=s;}publicoverridedouble{side*side;}publicoverridedoubleGetLength(){side*4;}}classTest{publicvoidMain(){doubler,s;");=double.Parse(Console.ReadLine());=Circle(r);Console.WriteLine("圆面"+System.Math(cir.Getarea(),2));

Console.WriteLine("圆周"+

");/

s=double.Parse(Console.ReadLine());squ=Square(s);Conso

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论