




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
先进软件开发技术与工具试题1. 介绍创建.NET程序的基本步骤。(4分)答:打开Visual Stdio 2008 文件菜单 新建项目选择语言和项目类型编写代码编译运行。2. C#语言的特点?(5分)简洁的语法精心地面向对象设计与Web的紧密结合完整的安全性与错误处理版本处理技术灵活性与兼容性3. C#中参数传递有哪些方式?各有什么特点?(6分)答:有传值和传引用方式。传值方式,是指将实际参数的值复制一份,存入形式参数中。在方法中对形式参数值的改变不会影响到实际参数。传引用方式,是指将实际参数的地址复制一份,存入形式参数中,在方法中通过地址可以改变实际参数的值。4. e is T在什么时候返回true?e as T在什么时候返回非null?(6分)答:e is T在对象e的类型为T时返回true。e as T在对象e兼容于T类型时,返回非null。5. 给出C#语言效率低于C/C+语言的3个原因。(6分)答:(不确定)C#有高级内存管理机制,方便了开发,但降低了代码效率;C#代码是托管运行的,效率较低;C#不能直接进行内存管理,效率低。6. 解释以下基本概念。(14分)(1)托管代码(2)抽象类(3)接口(4)引用类型(5)异常(6)属性(7)值类型答:(1)托管代码由公共语言运行库环境(而不是直接由操作系统)执行的代码。(2)抽象类至少包含一个抽象方法的类,该类不能被实例化。(3)接口只包含方法、属性、索引器、事件,均为public权限,而且方法只有定义没有方法体。(4)引用类型直接存储变量值的引用,该类型的变量作参数,传递的是值所在的地址。(5)异常程序执行时遇到的任何错误情况或意外行为(6)属性属性是这样的成员:它提供灵活的机制来读取、编写或计算某个私有字段的值。(7)值类型直接存储变量的值,该类型的变量作参数,传递的是变量的副本。7. 虚方法、抽象方法、静态方法、接口中的方法和密封方法有何区别?(10分)答:虚方法:用virtual修饰,告诉编译器这个方法可以在派生类中被改写。抽象方法:用abstract修饰,没有方法体,它所在的类是抽象类。抽象方法必须由其所在类的派生类重写,除非该派生类也是抽象方法。静态方法:用Static修饰,静态方法存储在类空间中,直接由类访问。接口中的方法:只有方法的声明,没有方法体,必须由接口的派生类重写。密封方法:用seal修饰,表示该方法不能被派生类重写。8. 抽象类、密封类和接口有何区别?各在什么情况下使用?(10分)答:抽象类:至少含有一个抽象方法的类。用于各派生类有同样的行为,但实现代码各不一样的情况,这时可以基类中定义即抽象方法,该基类就是抽象类。密封类:表示该类不能被继承。用于不希望该类被继承或修改的情况。接口:只包含方法、属性、索引器、事件,均为public权限,而且方法只有定义没有方法体。用于向外界声明所具有的行为,用于实现多重继承。9. 下列程序片断有何错误?(12分)(1)class BaseClasspublic virtual void f1() class DerivedClass : BaseClasspublic void f1() 答:DerivedClass中f1应改为public override void f1(),加上override。(2)class BaseClasspublic sealed void f1() class DerivedClass : BaseClasspublic void f1() 答:DerivedClass中f1()不能被重写。(3)abstract class BaseClasspublic abstract void f1() class DerivedClass : BaseClasspublic void f2() 答:BaseClass中f1应为public abstract void f1();,没有方法体; DerivedClass中应添加public void f1(),实现抽象方法。10. 写出下列程序的输出。(7分)class BaseClasspublic virtual void f1()Console.WriteLine(BaseClass.f1);public void f2()Console.WriteLine(BaseClass.f2);class DerivedClass : BaseClasspublic override void f1()Console.WriteLine(DerivedClass.f1);new public void f2()Console.WriteLine(DerivedClass.f2);static void Main(string args)DerivedClass d = new DerivedClass();BaseClass b = d;b.f1();b.f2();答:(答案没验证)BaseClass.f1 BaseClass.f211. 编写一个程序,接收用户输入的两个数字(这两个数字不能都大于30,否则要求用户重新输入),计算两数的乘积并输出。(8分)答:static void Main(string args)int x=100,y=100,z;Console.Write(请输入小于30的数字:);x = int.parse(Console.ReadLine();while(x30)Console.Write(请输重新入小于30的数字:);x = int.parse(Console.ReadLine();Console.Write(请输入小于30的数字:);y = int.parse(Console.ReadLine();while(y30)Console.Write(请输重新入小于30的数字:);y = int.parse(Console.ReadLine();z = x*y;Console.WriteLine(结果是:+z);12. 马(Horse)、大象(Elephant)、老虎(Tiger)、狮子(Lion)是动物(Animal),动物能够Eat,但是不同的动物有不同的Eat行为。另外,有些动物具有食肉特性(ICarnivore),食肉动物能够捕食(Prey)。定义类和接口用类继承和接口实现来表示以上事物之间的关系。(12分)答:interface ICarnivore/食肉特性public void Prey();abstract class Animalabstract void Eat();/抽象方法/动物的其它共有的特性.class Horse : Animalpublic void Eat()/吃草class Elephant : Animalpublic void Eat(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法语短语考试题及答案
- 电动汽车市场的研发投资与技术路径选择研究试题及答案
- 期末教育学试题及答案
- 肺炎护理查房试题及答案
- 职业英语能力2025年考试试题及答案
- 数字谱的理解与应用试题及答案
- 电动汽车系统集成测试试题及答案
- 新能源汽车与城市交通政策的适应性试题及答案
- 家具设计中安全性考量试题及答案
- 家具设计风格演变分析试题及答案
- 中小学“学思行悟”课堂教学改革行动实施方案
- 110kV电缆交流耐压试验方案
- 动力源开关电源说明书-dkd51系统维护手册
- 手弧焊的基本操作
- 新概念英语青少版-2B全单元课件-unit-25(共32张)
- 初中八年级上册信息技术《用Python编程》教学设计
- 施工项目安全交底确认书
- 国际机票后端引擎缓存系统架构
- 贵州干部履历表(2023版)
- 消火栓月检查表
- 高血压脑病-PPT课件
评论
0/150
提交评论