〃填空题每空1分共12分
1面向对象的语言具有__封装____性、 __继承_____性、__多态_____性。2能用foreach遍历访问的对象需要实现______Ienumerable___________接口或声明____GetEnumerator __________方法的类型。
3当类T只声明了私有实例构造函数时则在T的程序文本外部 ___不可以___可以or不可以从T派生出新的类在T的内部__可以__可以or不可以直接创建T的任何实例在T的外部__不可以__可以or不可以直接创建T的任何实例。
4.委托声明的关键字是__Delegate_____
5.override与重载的区别 override覆盖是基类中函数的重写。重载方法或函数的名称相同参数或许参数类型不同进行多次重载实现功能。
二.不定项选择 每题2分共18
Question 1
以下叙述正确的是
A. 接口中可以有虚方法。 B.一个类可以实现多个接口。
C.接口不能被实例化。 D.接口中可以包含已实现的方法。
Question 2
以下描述错误的是( )
1 .在C++中支持抽象类而在C#中不支持抽象类。
2. C++中可在头文件中声明类的成员而在CPP文件中定义类的成员在C#中没有头文件并且在同一处声明和定义类的成员。
3.在C#中可使用n ew修饰符显式隐藏从基类继承的成员。
4.在C#中要在派生类中重新定义基类的虚函数必须在前面加Override 。Question 3
声明一个委托publ ic delegate intmyCal lBack(intx);则用该委托产生的回调方法的原型应该是
1 . void myCal lBack(intx)
2. int receive(int num)
3. string receive(int x)
4.不确定的
Question 4
下列描述错误的是( )a)类不可以多重继承而接口可以
b)抽象类自身可以定义成员而接口不可以c)抽象类和接口都不能被实例化d)一个类可以有多个基类和多个基接口
Question 5
下列关于构造函数的描述正确的是( )a)构造函数可以声明返回类型。b)构造函数不可以用private修饰c)构造函数必须与类名相同d)构造函数不能带参数
Question 6
接口是一种引用类型在接口中可以声明( ) 但不可以声明公有的域或私有的成员变量。a)方法、属性、索引器和事件b)方法、属性信息、属性c)索引器和字段d)事件和字段
Question 7
以下的C#代码试图用来定义一个接口publ ic interface IFi le
{intA;intdelFi le()
{
A=3;
}void disFi le();
}
关于以上的代码以下描述错误的是( ) 。a)以上的代码中存在的错误包括不能在接口中定义变量所以intA代码行将出现错误b)以上的代码中存在的错误包括接口方法delFi le是不允许实现的所以不能编写具体的实现函数
c)代码voiddisFi le();声明无错误接口可以没有返回值d)代码voiddisFi le();应该编写为voiddisFi le(){}
Question 8.class Class1
{publ ic static int Count=0;static Class1()
{
Count++;
}publ icClass1()
{
Count++;
Class1 o1 =new Class1();
Class1 o2=new Class1();
请问 Class1 .Count的值是多少 ( )
1 . 1
2. 2
3. 3
4. 4
Question 9abstract class BaseClass
{publ ic virtual void MethodA()
{
Console.WriteLine("BaseClass");
}
}publ icvirtual void MethodB()
}class Class1 :BaseClass
{publ icvoid MethodA()
{
Console.WriteLine("Class1");
}publ ic override void MethodB()
{
}
}class Class2:Class1
{
}new publ icvoid MethodB()
}class MainClass
{publ ic static void Main(string[]args)
{
Class2 o=new Class2();o.MethodA();
}
}
请问此程序输出结果是:
1 . BaseClass
2. BassClass Class1
3. Class1
4. Class1 BassClass
解析 三重继承问题孙类只是继承父类而不是直接继承祖父类
三〃问答题每题3分共15分
1 . 简述private 、 protected 、 publ ic 、 internal修饰符的访问权限。private:私有访问它只能在声明自身的类中进行访问。protected:表示受保护的访问该类内部和继承类中可以访问
.publ ic:表示公共访问在代码任何位置都可对其进行访问internal表示内部成员在同一命名空间内可以访问。
2. C#中的委托是什么事件是不是一种委托
委托是指具有相同属性也称具有相同的函数签名返回类型相同参数类型、参数顺序及参数个数相同的函数或方法的抽象关键字为delegate 。主要用途是三个
1 函数回调 2传递方法 3事件机制
事件就是一个狭义的委托,也就是事件是一个用于事件驱动模型的专用委托对事件的声明 实际是声明一个私有的委托变量对委托变量进行封装即委托变量加上event关键字后不管其前面的访问修饰符是publ ic还是private 编译器都会将其编译为private 。
委托是一个类它定义了方法的类型使得可以将方法当作另一个方法的参数来进行传递这种将方法动态地赋给参数的做法可以避免在程序中大量使用
If-Else Switch语句 同时使得程序具有更好的可扩展性。以委托为参数的函数具有一定的通用性
使用委托可以将多个方法绑定到同一个委托变量 当调用此变量时 这里用 “调用”这个词是因为此变量代表一个方法 可以依次调用所有绑定的方法。
3. abstract可以和virtual一起使用吗可以和override一起使用吗
不可以一起使用但是可以和override一起使用。
4. 请叙述属性与索引器的区别。
属性它是存取类的字段,索引器 Indexer它是特殊的属性用它可以使用户像访问数组一样访问类的成员 。
5. 请详述在dotnet中类 class 与结构 struct的异同。
类class可以进行实例化它是引用类型内存分配在栈中效率高它有默认的构
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...
官方网站:点击访问特网云官网活动方案:===========================香港云限时购==============================支持Linux和Windows操作系统,配置都是可以自选的,非常的灵活,宽带充足新老客户活动期间新购活动款产品都可以享受续费折扣(只限在活动期间购买活动款产品才可享受续费折扣 优惠码:AADE01),购买折扣与续费折扣不叠加,都是在原价...
Justg是一家俄罗斯VPS云服务器提供商,主要提供南非地区的VPS服务器产品,CN2高质量线路网络,100Mbps带宽,自带一个IPv4和8个IPv6,线路质量还不错,主要是用户较少,带宽使用率不高,比较空闲,不拥挤,比较适合面向非洲、欧美的用户业务需求,也适合追求速度快又需要冷门的朋友。justg的俄罗斯VPS云服务器位于莫斯科机房,到美国和中国速度都非常不错,到欧洲的平均延迟时间为40毫秒,...