C#复习习题.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C#复习习题.doc》由会员分享,可在线阅读,更多相关《C#复习习题.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计 1.描述new有两种用法第一种:new Class():创建对象第二种:覆盖方法public new XXXX()2.类成员有( )种可访问控制权限可访问性:public ,protected ,private,internal3.用sealed修饰的类有什么特点sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。密封类不能同时为抽象类。4.如何理解委托?答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.5.C#中的实现多继承的是什么答:接口6.传入某个属性的set方法的隐含参数的名称是什
2、么?value,它的类型和属性所声名的类型相同。7.委托声明的关键字是_ delegate _8.下面的代码中有什么错误吗?_using System;class Apublic virtual void F()Console.WriteLine(A.F);abstract class B:Apublic abstract override void F(); 答:abstract override 是不可以一起修饰. / new public abstract void F(); 的错误处理机制是什么?答:.net错误处理机制采用try-catch-finally结构,发生错误时,层层上抛,
3、直到找到匹配的Catch为止。10.如何在C#中实现继承?也就是继承的格式在类名后加上一个冒号,再加上基类的名称。11.描述一下C#中索引器的实现过程,是否只能根据数字进行索引? 答:不是。可以用任意类型12.被protected修饰的属性/方法在何处可以访问?在继承或间接继承与这个类的子类中可以访问。13.私有成员会被继承么?会,但是不能被访问。所以看上去他们似乎是不能被继承的,但实际上确实被继承了。14.请描述一下修饰符protected internal.被protected internal修饰的属性/方法只能在它的在同一个程序集(Assembly)中的子类被访问。15.C#提供一个默
4、认的无参数构造函数,当实现了另外一个有一个参数的构造函数时候,还想保留这个无参数的构造函数。这样应该写几个构造函数?两个,一旦你实现了一个构造函数,C#就不会再提供默认的构造函数了,所以需要手动实现那个无参数构造函数。16.C#中所有对象共同的基类是什么?System.Object.17.重载和覆写有什么区别?重载提供了对一个方法签名的不同参数调用的实现。覆写提供了子类中改变父类方法行为的实现。18.在方法定义中,virtual有什么含意?被virtual修饰的方法可以被子类覆写。19.能够将非静态的方法覆写成静态方法么?不能,覆写方法的签名必须与被覆写方法的签名保持一致,除了将virtual
5、改为override.19.可以覆写私有的虚方法么?不可以,甚至子类中无法访问父类中的私有方法。20.能够阻止某一个类被其他类继承么?可以,使用关键字sealed.21.能够实现允许某个类被继承,但不允许其中的某个方法被覆写么?可以,标记这个类为public,并标记这个方法为sealed.22.什么是抽象类(abstract class)?一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有抽象类的抽象方法后才能被实例化。23.接口(interface)是什么?只含有公有抽象方法(public abstract method)的类。这些方法必须在子类中被实
6、现。24. 以下关于C#中方法重载的说法正确的是(CD)。(选择二项)A.如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载B.如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载C.如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载D.如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载25. 在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用(A)关键字。(选择一项)A.overrideB.newC.staticD.virtual26. C#中关于委托,下面说法正确的是(ACD)。(选择两项)A.委托是一种类的成员B.委托
7、必须定义在类中 C.定义委托需要使用delegate关键字D.委托是一种数据类型27.下列关于C#的异常处理的说发法,错误的是(BC)。(选择二项)A.Try块必须跟catch块组合使用,不能单独使用B.一个try块可以跟随多个catch块C.使用throw语句既可引发系统异常,也可以引发由开发人员创建的自定义异常D.在try catch .finally块中,即便开发人员编写强制逻辑代码,也不能跳出finally块的执行28. 在C#中,接口与抽象基类的区别在于(D)。(选择一项)A.抽象基类可以包含非抽象方法,而接口只能包含抽象方法B.抽象基类可以被实例化,而接口不能被实例化C.抽象基类不
8、能被实例化,而接口可以被实例化D.抽象类可以包括数据成员,接口只包括抽象函数、抽象属性和抽象索引等,没有数据。29. 在C#中,(C)访问修饰符修饰的变量只能由当前程序集访问。A.publicB.protectedC.internalD.private分析程序输出结果可以有以下知识点出:30.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?答:不是。可以用任意类型。31.在下面的例子里using System;class Apublic A()PrintFields();public virtual void PrintFields()class B:Aint x=1;int y;p
9、ublic B()PrintFields();y=-1;public override void PrintFields()Console.WriteLine(x=0,y=1,x,y);当使用new B()创建B的实例时,产生什么输出?答:x=1,y=0;x= 1 y = -132.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。33.构造器Constructor是否可被override?答:
10、构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。34.是否可以继承String类?答:String类是final类故不可以继承。35.数组有没有length()这个方法? String有没有length()这个方法?答:数组没有length()这个方法,有length的属性。String有length()这个方法。36.谈谈finally的作用答:finally再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会 执行,然后控制就会进入 finally 块(如果有的话)。37.
11、成员变量和成员函数前加static的作用?答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。38.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法。答:using 引入名称空间或者使用非托管资源new 新建实例或者隐藏父类方法39什么是虚函数?什么是抽象函数?答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。40.c#中的三元运算符是?答:?:。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 复习 习题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内