收藏 分销(赏)

软件设计模式A卷期末考核.doc

上传人:1587****927 文档编号:1650919 上传时间:2024-05-07 格式:DOC 页数:8 大小:77.02KB
下载 相关 举报
软件设计模式A卷期末考核.doc_第1页
第1页 / 共8页
软件设计模式A卷期末考核.doc_第2页
第2页 / 共8页
软件设计模式A卷期末考核.doc_第3页
第3页 / 共8页
软件设计模式A卷期末考核.doc_第4页
第4页 / 共8页
软件设计模式A卷期末考核.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

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

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

3、;B. #import ;C. uses System;D. #include ;6. MyClass为一个自定义的类,则下列语句创建了多少个类MyClass的对象? MyClass , myArray = new MyClass23;A. 0 B. 2 C. 3 D. 67. 已知a、b、c的值分别是4、5、6,执行下面的程序段后,判断变量n的值为:int a,b,c,n;if (c b) n = a + b + c; else if (a + b =10 或a=10 or a=10|a=10&a=10|a=0 20.以下关于for循环的说法不正确的是_。A. for循环只能用于循环次数已经

4、确定的情况B. for循环是先判定表达式,后执行循环体语句C. for循环中,可以用break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来。二:判断题(共20分,20小题,每小题1分。请将答案或填入下表)题号12345678910答案题号11121314151617181920答案1软件危机是二十一世纪软件领域出现的新问题。 2数据流分析技术是结构化分析方法的核心技术。 3从提出软件开发计划的那一刻起开始直到软件投入实际应用为止可以认为是一个完整的软件生存周期。4喷泉模型主要用于面向过程的软件项目。5类是所有某一类对象的共同的行为和不同状态的集合体。6利用多重继

5、承虽然可以提高类的共享程度,但也会增加系统的复杂程度。7面向对象程序设计应该遵循低内聚、高耦合的原则。8人机交互子系统的设计内容就是用户如何命令系统。9作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。10状态图、顺序图、协作图和部署图属于动态建模机制。11顺序图和协作图虽然都是用来描述交互的,但顺序图强调的是空间,而协作图强调的是时间。12面向对象设计中的开闭原则指的是软件对修改应该是开放的,对扩展应该是关闭的。13单一职责原则、里氏代换原则、依赖倒置原则等,都可以看成是“开放-封闭”原则的实现方法。14一般来说,继承必须确保超类所拥有的性质在子类中仍然成立。15当一个超类

6、的实例能够替换任何其子类的实例时,它们之间才具有is-A关系。16工厂方法是抽象工厂模式的扩展。17结构型模式在破坏类的封装性的基础上,实现新的功能。18数组作为函数的参数时默认的传递形式是按值传递。19具有抽象方法的类必须声明为abstract。20重载是进行基类中函数的重写。三:简答题(共25分,5小题,每小题5分。)1. 什么是设计模式?答:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。2. 面向对象设计中需要遵循哪些原则?为什么要遵循这些原则?答:(1)开

7、闭原则:软件对扩展应该是开放的,对修改应该是关闭的。(2)单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。(3)里氏代换原则:继承必须确保超类所拥有的性质在子类中仍然成立(4)依赖倒置原则:如果一个类的一个成员或参数为一个具体类型,那么这个类就依赖于那个具体类型。3. 什么是面向对象软件开发的“开放-封闭”原则?其优点有哪些?答:所谓开放封闭原则就是软件实体应该对扩展开发,而对修改封闭。 优点:按照开放-封闭原则设计出来的系统,降低了程序各部分之间的耦合性,其适应性、灵活性、稳定性都比较好。当已有软件系统需要增加新的功能时,不需要对作为系统基础的抽象层进行修改,只需要在原有基础上附加

8、新的模块就能实现所需要添加的功能。增加的新模块对原有的模块完全没有影响或影响很小,这样就无须为原有模块进行重新测试。4. 结构型模式的功能有哪些?答:结构型模式能够解决如下几个方面的问题:(1)在不破坏类的封装性的基础上,实现新的功能;(2)在不破坏类的封装性的基础上,使得类可以同不曾估计到的系统进行交互;(3)创建对一组类的统一的访问接口;(4)对同一类,创建不同的访问界面,提供给不同的访问者5. 试简述抽象工厂模式。答:抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不

9、必指定产品的具体的情况下,创建多个产品族中的产品对象。四:综合题(共15分)假设你现在是一家快餐店的的管理者,要给顾客提供一系列的食品,如鸡翅、鸡腿等,顾客每要求一种食品,快餐店应当很快“生产”出来。请采用工厂模式来实现这个过程,用C#语言编写相应的类代码。答: /抽象的KFC食品,Product角色 public abstract class KFCFood public abstract void show(); /下面两个类表示两种具体的KFC食品,它们继承了抽象的KFC食品Concrete Product1角色public class Chicken: KFCFood public o

10、verride void show() Console.WriteLine(“鸡腿+1”); /Concrete Product2角色public class Wings: KFCFood public override void show() Console.WriteLine(“鸡翅+1”); /产品工厂,Factory角色interface IKFCFactory KFCFood CreatFood();/鸡翅膀工厂,ConcreteFactory角色public class WingsFactory: IKFCFactory public KFCFood CreateFood() re

11、turn new Wings(); /鸡腿工厂,ConcreteFactory角色public class ChickenFactory: IKFCFactory public KFCFood CreateFood() return new Chicken(); Static void Main(String args) /定义一个鸡腿工厂 IKFCFactory factory=new ChickenFactory()/生产鸡腿 KFCFood food1=factory.CreateFood(); food1.show(); /生产鸡腿 KFCFood food2=factory.CreateFood(); food2.show(); /生产鸡腿 KFCFood food3=factory.CreateFood(); food3.show(); Console.Read();8课程名称: 软件设计模式

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服