〃填空题每空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可以进行实例化它是引用类型内存分配在栈中效率高它有默认的构
CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...
螢光云官網萤光云成立于2002年,是一家自有IDC的云厂商,主打高防云服务器产品。在国内有福州、北京、上海、台湾、香港CN2节点,还有华盛顿、河内、曼谷等海外节点。萤光云的高防云服务器自带50G防御,适合高防建站、游戏高防等业务。本次萤光云中秋云活动简单无套路,直接在原有价格上砍了一大刀,最低价格16元/月,而且有没有账户限制,新老客户都可以买,就是直接满满的诚意给大家送优惠了!官网首页:www....
horain怎么样?horain cloud是一家2019年成立的国人主机商家,隶属于北京辰帆科技有限公司,horain持有增值电信业务经营许可证(B1-20203595),与中国电信天翼云、腾讯云、华为云、UCloud、AWS等签署渠道合作协议,主要提企业和个人提供云服务器,目前商家推出了几款特价物理机,都是在内地,性价比不错,其中有目前性能比较强悍的AMD+NVMe系列。点击进入:horain...