面向对象编程-练习题解答_第1页
面向对象编程-练习题解答_第2页
面向对象编程-练习题解答_第3页
面向对象编程-练习题解答_第4页
面向对象编程-练习题解答_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、C#面向对象编程-练习题C#中的方法重写使用关键字()。a)overrideb)overloadc)staticd)In herit2 以下的C#代码,试图用来定义一个接口:P ublic in terface IFileint A;int delFile() A = 3;void disFile();关于以上的代码,以下描述错误的是()。(选择一项)a)以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现错误b)以上的代码中存在的错误包括:接口方法 delFile是不允许实现的,所以不能编写具体的实现函数c)代码void disFile();定义无错误,接口可以没有返

2、回值d)代码 void disFile();应该编写为 void disFile();a)抽象基类可以包含非抽象方法,而接口只能包含抽象方法b)抽象基类可以被实例化,而接口不能被实例化C)抽象基类不能被实例化,而接口可以被实例化d)抽象基类就是接口,它们之间无差别TextBook类;现在又增加了杂志类图书,于是需要改变设计,则下面最好的设计应该是()a)建立一个新的杂志类Journal。b)建立一个新的杂志类Journal,并继承TextBoook 类。C)建立一个基类 Book和一个新的杂志类Journal,并让 Journal 类和 TextBoook 类4 .在开发某图书馆的图书信息管理

3、系统的过程中,开始为教材类图书建立一个都继承于Book类。d)不建立任何类,把杂志图书的某些特殊属性加到TextBoook 类中。可以使用()关键字重写方法。a)Overrideb)New以下叙述正确的是:()A.接口中可以有虚方法。B. 一个类可以实现多个接口。C 接口不能被实例化。D.接口中可以包含已实现的方法。7.下列代码输出为(): class Fatherpublic void F() Con sole.WriteLi ne("A.F"); public virtual void G() Co nsole.WriteLi ne("A.G");

4、class Son: Fathernew public void F() Co nsole.WriteLi ne("B.F"); public override void G() Con sole.WriteL in e("B.G"); class overridenewstatic void Mai n() Son b = new Son();Father a = b;a.F();b.F();a.G();b.G();A.A.FB.FA.GB.GB.A.FB.FB.GB.GC.A.FA.FB.GB.GD.B.FB.FB.GB.G&写出程序的输出结

5、果:p ublic class Ap ublic virtual void Fun 1(i nt i)Con sole.WriteLi ne(i);p ublic void Fun2(A a)a.F un 1(1);Fun1(5);p ublic class B:Ap ublic override void Fun 1(i nt i)base.Fu n1(i+1);p ublic static void Main()B b=new B();A a=new A();a.Fu n2(b);b.F un 2(a);Co nsole.WriteLi ne(str);答案:9.在C #中,允许多接口继承

6、,从多个接口时,使用“:”后跟继承的接口的名字,多个接口名称之间使用()符号进行分割。(选择一项)b) ”-> ” ? ?c),I ”d):10 .阅读以下的C#代码:class Ap ublic virtual void prin tStr(stri ng str)Co nsole.WriteLi ne(str);class B:Ap ublic override void prin tStr(stri ng str)str=str+"重写的方法"class Defaultl nitializerA ppp ublic static void Main()B b=n

7、ew B();A a=b;a.printStr(” 打印");b.printStr("打印");Con sole.ReadL in e();运行程序后将在控制台窗口打印 ()。(选择一项)a.打印重写的方法打印重写的方法b.打印打印重写的方法c.打印d.程序有误,不能运行11.在C#的语法中,()关键字可以实现在派生类中对基类的虚函数进行重载(选一项)a>overrideb>newc>staticd>virtualabstract class BaseClass public virtual void MethodA()Co nsole.W

8、riteL in e("BaseClass"); public virtual void MethodB() class Class1: BaseClass public void MethodA()Co nsole.WriteL in e("Class1"); public override void MethodB() class Class2: Class1 new public void MethodB() class Mai nClass public static void Mai n(stri ng args)Class2 o = new

9、Class2();o.MethodA(); A. BaseClassB. BassClass Class1C. Class1D. Class1 BassClass13.请问,此程序输出结果是() public virtual void Fun() Co nsole.WriteLi ne("A.Fu n()"); public class B: A p ublic B() Co nsole.WriteL in e('B'); public new void Fun() Con sole.WriteL in e("B.Fu n()"); pu

10、blic static void Mai n() A a = new B();a.Fu n(); A. A B A.Fu n()B. A B B.Fu n()C. B A A.Fu n()D. B A B.Fu n()14.以下叙述正确的是():A.接口中可以有虚方法。B.一个类可以实现多个接口。C.接口不能被实例化。D.接口中可以包含已实现的方法。15 .以下关于 C#代码的说法正确的是()。(选择一项)P ublic abstract An imalPublic abstract void Eat();Public void Slee p()a.该段代码正确b. 代码错误,因为类中存在非抽

11、象方法c. 代码错误,因为类中的方法没有实现d. 通过代码“Animal an = new Animal();”可以创建一个Animal对象16.在c#中,关于继承和接口,以下说法正确的是()(单选)a. c#允许许多接口实现,也允许多重继承b. c#允许多接口实现,但不允许多重继承c. c#不允许多接口实现,但允许多重继承d. c#不允许多重接口实现,也不允许多重继承17.在C#中,已知下列代码的运行结果是“老虎吃动物”,请问在空白处1和空白处2分别应该填写的代码是()Public class Ani malPublic 空白处 1 void Eat()Conson e.WriteL in

12、e(“我要吃”;Public class Tiger:A nimalPublic 空白处 2 void Eat()Conson e.WriteLi ne(“老虎吃动物”);Public calssTestStatic void Mai n()Animal an = new Tiger();an .Eat;Public abstract class Ani mala)Virtual , newb)override , virtualc)virtual , overrided)new , virtual()(选择一项)a)在抽象类中,所以的方法都是抽象方法18.在C#中,下列关于抽象类和接口的说法

13、,正确的是)b)继承自抽象类的子类必须实现起父类(抽象类)中的所以抽象方法c)在接口中,可以有方法实现,在抽象类中不能有方法实现d)一个类可以从多个接口继承,也可以从多个抽象类继承19.关于以下C#代码的说法正确的是()P ublic abstract void Eat();void OpenTable( string tableName);Public class Tiger:A ni malPublic override void Eat()Con sole.WriteLi ne(“老虎吃动物”);Public class Tigress:TigerStatic void mai n()T

14、igress tiger =new Tigress();Tiger.EatO;a.代码正确,但没有输出b.代码正确,并且输出为”老虎吃动物”;c.d.代码错误,因为Tigress类没有实现抽象基类Animal中的抽象方法代码错误,因为抽象基类 Animal的Eat方法没有实现20.在c#中某程序员定义了一个IDataBase接口,以及实现该接口的类 CDataBase ,下列关于该段代码说法正确的是()(选择一项)void UpDataTable( string tableName);public class CDataBase:IDataBasepublic void OpenTable(

15、string tableName) static void Main()Console.WriteLine("打开数据表");public void UpdataTable(string tableName)Console.WriteLine("更新数据表");CDataBase db = new CDataBase();db.O penTable("Customers");a)该段代码错误,因为在定义接口时,接口中的方法没有提供实现CDataBase类中不能访问接口中的方法b)该段代码错误,因为接口中声明的方法不是公有的,应此在c)

16、该段代码正确,同时由于客户没有调用UpdataTable方法,可以把CDataTable类中的UpdataTable去掉,代码仍然正确d)该段代码正确,但是如果在IDataBase 接口中声明一个方法void Execute(string sql);则必须在CDataBase中实现该方法 21.C#中下列代码运行结果是(a)(选择一项)Public class Studentpublic virtual void Exam()Console.WriteLine("学生都要考试");public class Undergraduate:Studentpublic new vo

17、id Exam()base .Exam();Console.WriteLine("大学生有选择考试科目的权利");public class Teststatic void Main() Student stu = new Undergraduate();stu.Exam();a)学生都要考试 b)大学生有选择考试科目的权利C)大学生都要考试大学生有选择考试科目的权利d)学生都要考试学生都要考试22.C#中下列代码的运行结果是()(选择一项)struct Studentpublic int age;public string name;public Student( int age, string name)this .age=age;this .name=name;publicclass Teststatic void Mian()Studen

温馨提示

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

评论

0/150

提交评论