〃填空题每空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可以进行实例化它是引用类型内存分配在栈中效率高它有默认的构
wordpress高级企业自适应主题,通用型企业展示平台 + 流行宽屏设计,自适应PC+移动端屏幕设备,完美企业站功能体验+高效的自定义设置平台。一套完美自适应多终端移动屏幕设备的WordPress高级企业自适应主题, 主题设置模块包括:基本设置、首页设置、社会化网络设置、底部设置、SEO设置; 可以自定义设置网站通用功能模块、相关栏目、在线客服及更多网站功能。点击进入:wordpress高级企业...
农历春节将至,腾讯云开启了热门爆款云产品首单特惠秒杀活动,上海/北京/广州1核2G云服务器首年仅38元起,上架了新的首单优惠活动,每天三场秒杀,长期有效,其中轻量应用服务器2G内存5M带宽仅需年费38元起,其他产品比如CDN流量包、短信包、MySQL、直播流量包、标准存储等等产品也参与活动,腾讯云官网已注册且完成实名认证的国内站用户均可参与。活动页面:https://cloud.tencent.c...
GreencloudVPS此次在四个机房都上线10Gbps大带宽VPS,并且全部采用AMD处理器,其中美国芝加哥机房采用Ryzen 3950x处理器,新加坡、荷兰阿姆斯特丹、美国杰克逊维尔机房采用Ryzen 3960x处理器,全部都是RAID-1 NVMe硬盘、DDR4 2666Mhz内存,GreenCloudVPS本次促销的便宜VPS最低仅需20美元/年,支持支付宝、银联和paypal。Gree...