先进软件开发技术与工具试卷(答案).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
先进软件开发技术与工具试卷(答案)

《先进软件开发技术与工具》试题 介绍创建.NET程序的基本步骤。(4分) 答:打开Visual Stdio 2008 ( 文件菜单 (新建(项目(选择语言和项目类型(编写代码(编译(运行。 C#语言的特点?(5分) ●简洁的语法 ●精心地面向对象设计 ●与Web的紧密结合 ●完整的安全性与错误处理 ●版本处理技术 ●灵活性与兼容性 C#中参数传递有哪些方式?各有什么特点?(6分) 答:有传值和传引用方式。 传值方式,是指将实际参数的值复制一份,存入形式参数中。在方法中对形式参数值的改变不会影响到实际参数。 传引用方式,是指将实际参数的地址复制一份,存入形式参数中,在方法中通过地址可以改变实际参数的值。 e is T在什么时候返回true?e as T在什么时候返回非null?(6分) 答:e is T在对象e的类型为T时返回true。 e as T在对象e兼容于T类型时,返回非null。 给出C#语言效率低于C/C++语言的3个原因。(6分) 答:(不确定) C#有高级内存管理机制,方便了开发,但降低了代码效率; C#代码是托管运行的,效率较低; C#不能直接进行内存管理,效率低。 解释以下基本概念。(14分) (1)托管代码 (2)抽象类 (3)接口 (4)引用类型 (5)异常 (6)属性 (7)值类型 答: (1)托管代码——由公共语言运行库环境(而不是直接由操作系统)执行的代码。 (2)抽象类——至少包含一个抽象方法的类,该类不能被实例化。 (3)接口——只包含方法、属性、索引器、事件,均为public权限,而且方法只有定义没有方法体。 (4)引用类型——直接存储变量值的引用,该类型的变量作参数,传递的是值所在的地址。 (5)异常——程序执行时遇到的任何错误情况或意外行为 (6)属性——属性是这样的成员:它提供灵活的机制来读取、编写或计算某个私有字段的值。 (7)值类型——直接存储变量的值,该类型的变量作参数,传递的是变量的副本。 虚方法、抽象方法、静态方法、接口中的方法和密封方法有何区别?(10分) 答:虚方法:用virtual修饰,告诉编译器这个方法可以在派生类中被改写。 抽象方法:用abstract修饰,没有方法体,它所在的类是抽象类。抽象方法必须由其所在类的派生类重写,除非该派生类也是抽象方法。 静态方法:用Static修饰,静态方法存储在类空间中,直接由类访问。 接口中的方法:只有方法的声明,没有方法体,必须由接口的派生类重写。 密封方法:用seal修饰,表示该方法不能被派生类重写。 抽象类、密封类和接口有何区别?各在什么情况下使用?(10分) 答:抽象类:至少含有一个抽象方法的类。用于各派生类有同样的行为,但实现代码各不一样的情况,这时可以基类中定义即抽象方法,该基类就是抽象类。 密封类:表示该类不能被继承。用于不希望该类被继承或修改的情况。 接口:只包含方法、属性、索引器、事件,均为public权限,而且方法只有定义没有方法体。用于向外界声明所具有的行为,用于实现多重继承。 下列程序片断有何错误?(12分) (1) class BaseClass { public virtual void f1() { } } class DerivedClass : BaseClass { public void f1() { } } 答:DerivedClass中f1应改为public override void f1(){},加上override。 (2) class BaseClass { public sealed void f1() { } } class DerivedClass : BaseClass { public void f1() { } } 答:DerivedClass中f1()不能被重写。 (3) abstract class BaseClass { public abstract void f1() { } } class DerivedClass : BaseClass { public void f2() { } } 答:BaseClass中f1应为public abstract void f1();,没有方法体; DerivedClass中应添加public void f1(){……},实现抽象方法。 写出下列程序的输出。(7分) class BaseClass { public virtual void f1() { Console.WriteLine(BaseClass.f1); } publ

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档