欢迎来到天天文库
浏览记录
ID:38579343
大小:94.23 KB
页数:8页
时间:2019-06-15
《3.面向对象编程 - 练习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#面向对象编程-练习题1.C#中的方法重写使用关键字(a)。a)overrideb)overloadc)staticd)Inherit2.以下的C#代码,试图用来定义一个接口:publicinterfaceIFile{intA;intdelFile(){A=3;}voiddisFile();}关于以上的代码,以下描述错误的是(d)。(选择一项)a)以上的代码中存在的错误包括:不能在接口中定义变量,所以intA代码行将出现错误b)以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数c)代码voiddisFile
2、();定义无错误,接口可以没有返回值d)代码voiddisFile();应该编写为voiddisFile(){};3.在C#中,接口与抽象基类的区别在于(a)。a)抽象基类可以包含非抽象方法,而接口只能包含抽象方法b)抽象基类可以被实例化,而接口不能被实例化c)抽象基类不能被实例化,而接口可以被实例化d)抽象基类就是接口,它们之间无差别4.在开发某图书馆的图书信息管理系统的过程中,开始为教材类图书建立一个TextBook类;现在又增加了杂志类图书,于是需要改变设计,则下面最好的设计应该是(c)。a)建立一个新的杂志类Journal。b)建立一个新的杂
3、志类Journal,并继承TextBoook类。c)建立一个基类Book和一个新的杂志类Journal,并让Journal类和TextBoook类都继承于Book类。d)不建立任何类,把杂志图书的某些特殊属性加到TextBoook类中。5.可以使用(a)关键字重写方法。a)Overrideb)New6.以下叙述正确的是:(b,c)A.接口中可以有虚方法。B.一个类可以实现多个接口。C.接口不能被实例化。D.接口中可以包含已实现的方法。7.下列代码输出为(b):classFather{publicvoidF(){Console.WriteLine("A
4、.F");}publicvirtualvoidG(){Console.WriteLine("A.G");}}classSon:Father{newpublicvoidF(){Console.WriteLine("B.F");}//隐藏父类的方法F(),但是父类中的方法F()还是存在publicoverridevoidG(){Console.WriteLine("B.G");}//重写父类中的方法G(),父类中的方法已不存在}classoverride_new{staticvoidMain(){Sonb=newSon();Fathera=b;//关键点
5、a.F();//通过父类声明的对象,调用隐藏方法时,会调用父类中的A.F()b.F();//通过子类声明的对象,调用隐藏方法时,会调用子类中的B.F()a.G();//方法F()是隐藏方法,方法G()是重写方法b.G();}}A.A.FB.FA.GB.GB.A.FB.FB.GB.GC.A.FA.FB.GB.GD.B.FB.FB.GB.G8.写出程序的输出结果:publicclassA{publicvirtualvoidFun1(inti){Console.WriteLine(i);}publicvoidFun2(Aa){a.Fun1(1);Fun1(
6、5);}}publicclassB:A{publicoverridevoidFun1(inti){base.Fun1(i+1);//base关键字调用的是父类的方法}publicstaticvoidMain(){Bb=newB();Aa=newA();a.Fun2(b);//结果:2,5b.Fun2(a);//结果:1,6}}答案:9.在C#中,允许多接口继承,从多个接口时,使用“:”后跟继承的接口的名字,多个接口名称之间使用()符号进行分割。(选择一项)ca)”.’b)”->”c)”,”d)”::”10.阅读以下的C#代码:classA{publi
7、cvirtualvoidprintStr(stringstr){Console.WriteLine(str);}}classB:A{publicoverridevoidprintStr(stringstr){str=str+"重写的方法";Console.WriteLine(str);}}classDefaultInitializerApp{publicstaticvoidMain(){Bb=newB();Aa=b;//这条语句的含义应该是把B类定义的对象b赋值给A类定义的对象aa.printStr("打印");//即a=bb.printStr("打
8、印");Console.ReadLine();}}运行程序后将在控制台窗口打印()。(选择一项)aa.打印重
此文档下载收益归作者所有