欢迎来到天天文库
浏览记录
ID:22431955
大小:71.76 KB
页数:8页
时间:2018-10-29
《先进软件开发技术与工具试卷(答案)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《先进软件开发技术与工具》试题1.介绍创建.NET程序的基本步骤。(4分)答:打幵VisualStdio2008文件菜单今新建今项目+选择语言和项目类型今编写代码今编译今运行。2.C#语言的特点?(5分)•简洁的语法參精心地而向对象设计•与Web的紧密结合參完整的安全性与错误处理•版本处理技术•灵活性与兼界性3.C#中参数传递有哪些方式?各有什么特点?(6分)答:有传值和传引用方式。传值方式,是指将实际参数的值复制一份,存入形式参数中。在方法十对形式参数值的改变不会影响到实际参数。传引用方式,是指将实际参数的地址复制一份,存入形式参数屮,在方法小通
2、过地址nJ以改变实际参数的位。4.eisT在什么时候返回true?easT在什么时候返回非null?(6分)答:eisT在对象e的类型为T时返回true。easT在对象e兼容于T类型时,返回非null。5.给出C#语言效率低于C/C++语言的3个原因。(6分)答:(不确定)以旮髙级内存管理机制,方便了开发,但降低了代码效率;以代码足托管运行的,效率较低;c#不能直接进行内存管理,效率低。1.解释以下基本概念。(14分)(4)引用类型(1)托管代码(2)抽象类(3)接口(5)异常(6)属性(7)值类型答:(1)托管代码一巾公共语言运行库环境(而不是貞
3、接巾操作系统)执行的代码。(2)抽象类——至少包含一个抽象方法的类,该类不能被实例化。(3)接口——只包含方法、属性、索引器、事件,均为public权限,而且方法只脊定义没脊方法体。(4)引用类型一直接存储变量值的引用,该类型的变量作参数,传递的是值所在的地址。(5)界常一程序执行时遇到的任何错误情况或意外行为(6)属性——属性是这样的成员:它提供灵活的机制来读取、编写或计算某个私宥字段的值。(7)位类型——直接存储变S的值,该类型的变最作参数,传递的是变量的副木。1.虚方法、抽象方法、静态方法、接口中的方法和密封方法有何区别?(10分)答:虚方法
4、:用virtual修饰,告诉编译器这个方法吋以在派生类中被改写。抽象方法:用abstract修饰,没冇方法体,它所在的类是抽象类。抽象方法必须巾其所在类的派生类重写,除非该派生类也是抽象方法。静态方法:川Static修饰,静态方法存储在类空间中,fi接由类访问。接口中的方法:只有方法的声明,没有方法体,必须由接口的派氓类重写。密封方法:用seal修饰,衣示该方法不能被派生类重写。2.抽象类、密封类和接口有何区别?各在什么情况下使用?(10分)答:抽象类:至少含有一个抽象方法的类。用于各派生类有同样的行为,实现代码各不•-•样的情况,这时讨以基类屮定
5、义即抽象方法,该基类就是抽象类。密封类:表示该类不能被继承。用于不希望该类被继承或修改的惜况。接口:只包含方法、属性、索引器、事件,均为public权限,而且方法只#定义没备方法体。用于向外界声明所具有的行为,川于实现多重继承。3.下列程序片断有何错误?(12分)(1)classBaseClasspublicvirtualvoidf1(){}classDerivedClass:BaseClasspublicvoidf1(){}答:DerivedClass中fl应改为publicoverridevoidf1(){},加上override。(2)cla
6、ssBaseClass{publicsealedvoidf1(){}}classDerivedClass:BaseClass{publicvoidfl0{}}答:DerivedClass中fl()不能被重写0(3)abstractclassBaseClass{publicabstractvoidf1(){}}classDerivedClass:BaseClass{publicvoidf2(){}}答:BaseClass中fl应为publicabstractvoidf1();,没有方法体;DerivedClass中应添加publicvoidf1(){
7、},实现抽象方法。1.写出下列程序的输出。(7分)classBaseClass{publicvirtualvoidf1(){Console.WriteLine("BaseClass.fl");}publicvoidf2(){Console.WriteLine("BaseClass.f2");}}classDerivedClass:BaseClass{publicoverridevoidf1(){Console.WriteLine("DerivedClass.fl");}newpublicvoidf2(){Console.WriteLine(/'De
8、rivedClass.f2〃);}}staticvoidMain(string[]args)
此文档下载收益归作者所有