文档详情

面向对象编程-练习题.doc

发布:2017-06-08约6.03千字共8页下载文档
文本预览下载声明
C#面向对象编程-练习题 1.C#中的方法重写使用关键字()。 override overload static Inherit 2.以下的C#代码,试图用来定义一个接口: public interface IFile{ int A; int delFile() { A = 3; } void disFile(); } 关于以上的代码,以下描述错误的是()。(选择一项) 以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现错误 以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数 代码void disFile();定义无错误,接口可以没有返回值 代码void disFile();应该编写为void disFile(){}; 3.在C#中,接口与抽象基类的区别在于()。 抽象基类可以包含非抽象方法,而接口只能包含抽象方法 抽象基类可以被实例化,而接口不能被实例化 抽象基类不能被实例化,而接口可以被实例化 抽象基类就是接口,它们之间无差别 4.在开发某图书馆的图书信息管理系统的过程中,开始为教材类图书建立一个TextBook类;现在又增加了杂志类图书,于是需要改变设计,则下面最好的设计应该是()。 建立一个新的杂志类Journal。 建立一个新的杂志类Journal,并继承TextBoook类。 建立一个基类Book和一个新的杂志类Journal,并让Journal类和TextBoook类都继承于Book类。 不建立任何类,把杂志图书的某些特殊属性加到TextBoook类中。 5.可以使用()关键字重写方法。 Override New 6.以下叙述正确的是:() A.接口中可以有虚方法。 B.一个类可以实现多个接口。 C.接口不能被实例化。 D.接口中可以包含已实现的方法。 7.下列代码输出为( ): class Father{ public void F() { Console.WriteLine(A.F); } public virtual void G() { Console.WriteLine(A.G); } } class Son: Father{ new public void F() { Console.WriteLine(B.F); } public override void G() { Console.WriteLine(B.G); } } class override_new{ static void Main() { Son b = new Son(); Father a = b; a.F(); b.F(); a.G(); b.G(); } } A.F B.F A.G B.G A.F B.F B.G B.G A.F A.F B.G B.G B.F B.F B.G B.G 8.写出程序的输出结果: public class A { public virtual void Fun1(int i) { Console.WriteLine(i); } public void Fun2(A a) { a.Fun1(1); Fun1(5); } } public class B:A { public override void Fun1(int i) { base.Fun1(i+1); } public static void Main() { B b=new B(); A a=new A(); a.Fun2(b); b.Fun2(a); } } 答案: 9.在C#中,允许多接口继承,从多个接口时,使用“:”后跟继承的接口的名字,多个接口名称之间使用()符号进行分割。(选择一项) a)”.’ b)”-” c)”,” d)”::” 10.阅读以下的C#代码: class A { public virtual void printStr(string str) { Console.WriteLine(str); } } class B:A { public override void printStr(string str) { str=str+ 重写的方法; Console.WriteLine(str); } } class DefaultI
显示全部
相似文档