〃填空题每空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可以进行实例化它是引用类型内存分配在栈中效率高它有默认的构
RAKSmart 商家最近动作还是比较大的,比如他们也在增加云服务器产品,目前已经包含美国圣何塞和洛杉矶机房,以及这个月有新增的中国香港机房,根据大趋势云服务器算是比较技术流的趋势。传统的VPS主机架构方案在技术层面上稍微落后一些,当然也是可以用的。不清楚是商家出于对于传统VPS主机清理库存,还是多渠道的产品化营销,看到RAKSmart VPS主机提供美国、香港和日本机房的半价促销,当然也包括其他...
搬瓦工在国内非常流行的主机商,以提供低价的vps著称.不过近几年价格逐渐攀升.不过稳定性和速度一向不错.依然深受国内vps爱好者喜爱.新上线的套餐经常卖到断货.支持支付宝,paypal很方便购买和使用.官网网站:https://www.bandwagonhost.com[不能直接访问,已墙]https://www.bwh88.net[有些地区不能直接访问]https://www.bwh81.net...
日前,国内知名主机服务商阿里云与国外资深服务器面板Plesk强强联合,推出 阿里云域名注册与备案、服务器ECS购买与登录使用 前言云服务器(Elastic 只需要确定cpu内存与带宽基本上就可以了,对于新手用户来说,我们在购买阿里云服务申请服务器与域名许多云服务商的云服务器配置是弹性的 三周学会小程序第三讲:服务 不过这个国外服务器有点慢,可以考虑国内的ngrokcc。 ngrokcc...