(完整word版)软件设计模式A卷期末考核_第1页
(完整word版)软件设计模式A卷期末考核_第2页
(完整word版)软件设计模式A卷期末考核_第3页
(完整word版)软件设计模式A卷期末考核_第4页
(完整word版)软件设计模式A卷期末考核_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东北大学继续教育学院软件设计模式试 卷(作业考核 线上) A 卷学习中心:院校学号: C54570212090015姓名 牟雷(共 5 页)总分题号一二三四五六七八九十得分:单选题(共40分,20小题,每小题2分。请将答案填入下表)题号12345678910答案ADABADDBAD题号11121314151617181920答案AADDCCBCDA1. C#语言的核心是面向对象编程( OOP,所有OOP语言都应至少具有三个特性:A、封装、继承和多态B、类、对象和方法C、封装、继承和派生D 、封装、继承和接口2. 下列语句创建了多少个string对象?string, strArray = new

2、 string34;A. 0 B. 3 C. 4 D. 123. 关于结构类型,下列说法哪些是正确的?A. 结构是值类型B. 结构中不允许定义带参数的实例构造函数;C. 结构中不允许定义析构函数D. 结构中可以定义成员方法,但是方法内不能使用this 指针4. 在c#程序中,入口函数的正确声明为:A. static int main() B. static void Mai n()C. static void main()D. void Main() 5.在C#中,引用命名空间 system的正确语句是:A. using System;B. #import <System>C. u

3、ses System;D. #in clude <System>6.MyClass的对象?MyClass为一个自定义的类,则下列语句创建了多少个类C. 3D. 65、6,执行下面的程序段后,判断变量n的值为:MyClass , myArray = new MyClass23;A. 0B. 27.已知a、b、c的值分别是 int a,b,c, n; if (c < b) n = a + b + c;else if (a + b < c)n = c - a - b;elseC.D. 15n = a + b;A. 3B. -38.B.属性可以定义为抽象的D.常量不能作为类成员

4、下列说法哪个正确?A.不需要定义类,就能创建对象9.B.private 成员protected internal 成员C.对象中必须有属性和方法 在类的外部可以被访问的成员是:D.A. public 成员10.C. protected 成员.CSPD. .CSC#语言源代码文件的后缀名为:A. .C#B. .CC C.11.D. in eludeC#中导入某一个命名空间的关键字是.A. usingB. use C. import12.按地址传递D.不传递任何值方法中的值参数是 的参数。A.按值传递B.按引用传递 C.13.结构化程序设计的3种结构是:A. 顺序结构、if结构、for结构B. i

5、f结构、ifelse结构、else if结构C. while 结构、dowhile 结构、foreach 结构14.一个对象一定属于某个类 可由抽象类生成对象B.D. 顺序结构、分支结构、循环结构 以下关于类和对象的说法中,不正确的是:D.A.类包含了数据和对数据的操作C.类是同一类对象的抽象15. 下列关于构造函数的描述正确的是:B.构造函数不可以用private修饰D.构造函数不能带参数没有访问修饰符:A.构造函数可以声明返回类型 C.构造函数必须与类名相同16. 分析下列C#语句,注意类 MyClassn amespace ClassLibrary1 class MyClasspubli

6、c class subclass int i;若必须为类 MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择:A. privateB. protectedC. internalD. public17. 在类的定义中,类的描述了该类的对象的行为特征。A.类名B.方法C.所属的名字空间D.私有域18. C#语言中,下列能够作为变量名的是 。A. ifB. 3abC. a_3bD. a-bc19. 能正确表示逻辑关系"a>=10或a<=0”的C#语言表达式是 。A. a>=10 or a<=0B. a>=10|a<=0C. a&

7、gt;=10&&a<=0D. a>=10|a<=020. 以下关于for循环的说法不正确的是。A. for循环只能用于循环次数已经确定的情况B. for循环是先判定表达式,后执行循环体语句C. for循环中,可以用 break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来。:判断题(共20分,20小题,每小题1分。请将答案V或X填入下表)题号12345678910答案XVXXVVXXVX题号11121314151617181920答案XXVVXXXXXV1 软件危机是二十一世纪软件领域出现的新问题。2 数据流分析技术是结构化分析方

8、法的核心技术。3从提出软件开发计划的那一刻起开始直到软件投入实际应用为止可以认为是一个完整的软件生存周期。4 喷泉模型主要用于面向过程的软件项目。5类是所有某一类对象的共同的行为和不同状态的集合体。6利用多重继承虽然可以提高类的共享程度,但也会增加系统的复杂程度。7面向对象程序设计应该遵循低内聚、高耦合的原则。&人机交互子系统的设计内容就是用户如何命令系统。9.作为一种建模语言, UML的定义包括UML语义和UML表示法两个部分。10状态图、顺序图、协作图和部署图属于动态建模机制。11 顺序图和协作图虽然都是用来描述交互的,但顺序图强调的是空间,而协作图强调的是时间。12.面向对象设计

9、中的”开一闭"原则指的是软件对修改应该是开放的,对扩展应该是关闭的。13 单一职责原则、里氏代换原则、依赖倒置原则等,都可以看成是“开放-封闭”原则的实现方法。14. 一般来说,继承必须确保超类所拥有的性质在子类中仍然成立。15当一个超类的实例能够替换任何其子类的实例时,它们之间才具有is-A关系。16.工厂方法是抽象工厂模式的扩展。17结构型模式在破坏类的封装性的基础上,实现新的功能。18. 数组作为函数的参数时默认的传递形式是按值传递。19. 具有抽象方法的类必须声明为abstract。20重载是进行基类中函数的重写。三:简答题(共25分,5小题,每小题5分。)1什么是设计模式?

10、答:设计模式(Design pattern )是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经 验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。2.面向对象设计中需要遵循哪些原则?为什么要遵循这些原则?答:(1)"开闭”原则:软件对扩展应该是开放的,对修改应该是关闭的。(2 )单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。(3) 里氏代换原则:继承必须确保超类所拥有的性质在子类中仍然成立(4) 依赖倒置原则:如果一个类的一个成员或参数为一个具体类型,那么这个类就依赖于那个具体 类型。课程名称:软件设计模式33什么是面向对象软件开发

11、的“开放-封闭”原则?其优点有哪些?答:所谓开放封闭原则就是软件实体应该对扩展开发,而对修改封闭。优点:按照开放-封闭原则设计出来的系统,降低了程序各部分之间的耦合性,其适应性、灵活性、稳定性都比较好。当已有软件系统需要增加新的功能时,不需要对作为系统基础的抽象层进行修改,只需要在原有基础上附加新的模块就能实现所需要添加的功能。增加的新模块对原有的模块完全没有影响或影响很小,这样就无须为原有模块进行重新测试。4.结构型模式的功能有哪些?答:结构型模式能够解决如下几个方面的问题:(1)在不破坏类的圭寸装性的基础上,实现新的功能;(2 )在不破坏类的封装性的基础上,使得类可以同不曾估计到的系统进行

12、交互;(3)创建对一组类的统一的访问接口;(4 )对同一类,创建不同的访问界面,提供给不同的访问者5.试简述抽象工厂模式。答:抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多 个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产 品的具体的情况下,创建多个产品族中的产品对象。课程名称:软件设计模式5四:综合题(共15分)等,顾客每,用C#语言角色假设你现在是一家快餐店的的管理者,要给顾客提供一系列的食品,如鸡翅、鸡腿 要求一种食品,快餐店应当很快“生产”出来。请采用工厂模式来实现这个过程 编写相应的类代码。答:/抽

13、象的KFC食品,Product角色public abstract class KFCFoodpublic abstract void show();/下面两个类表示两种具体的KFC食品,它们继承了抽象的KFC食品Concrete Product1public class Chicke n: KFCFoodpublic override void show()Console.WriteLine("鸡腿 +1”);/Con crete Product2角色public class Wings: KFCFoodpublic override void show()Console.Write

14、Line("鸡翅 +1”);/产品工厂,Factory角色in terface IKFCFactoryKFCFood CreatFood();/鸡翅膀工厂,ConcreteFactory 角色public class Win gsFactory: IKFCFactorypublic KFCFood CreateFood()课程名称:软件设计模式6课程名称:软件设计模式9return new Win gs();/鸡腿工厂,ConcreteFactory 角色 public class Chicke nF actory: IKFCFactory public KFCFood CreateFood()retur n new Chicke n();Static void Mai n(Stri ng args)/ 定义一个鸡腿工厂IKFCFacto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论