版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东 北 大 学研 究 生 考 试 试 卷评分考试科目: 面向对象的分析与程序设计 课程编号: y2014500042 阅 卷 人: 考试日期: 姓 名: 学 号: 注 意 事 项1考 前 研 究 生 将 上 述 项 目 填 写 清 楚2字 迹 要 清 楚,保 持 卷 面 清 洁3交 卷 时 请 将 本 试 卷 和 题 签 一 起 上 交东北大学研究生院面向对象的分析与程序设计课程作业1. 什么叫面向对象?面向对象开发方法的优点? 面向对象是软件工程领域中的重要技术,这种软件开发思想比较自然地模拟了人类认识客观世界的方式,成为当前计算机软件工程学中的主流方法。基本思想是从现实世界中客观存在的事物
2、(即对象)出发,尽可能地运用人类的自然思维方式来构造软件系统。它更加强调运用人类在日常的逻辑思维中经常采用的思想方法与原则,例如抽象、分类、继承、聚合、封装等,使开发者以现实世界中的事物为中心来思考和认识问题,并以人们易于理解的方式表达出来。综上所述,面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。 面向对象开发方法的优点:(1)自然性。按照人类的自然思维方式,追求软件系统对现实系统的直接模拟,尽量实现将现实世界中的事物直接映射到软件系统的解空间中。有利于对问题域和系统责任的理解,有利于人员交流。(2)阶段衔接平滑。面向对象的方法改进了在生存期
3、各个阶段之间的接口,各阶段开发出来的“部件”都是类。各阶段是对各个类进行逐步的细化,类成为分析、设计和实现的基本单元。因此,填平了语言之间的鸿沟,使得开发活动之间平滑过渡。下图显示了传统的软件工程方法与面向对象方法的比较。(3)实现复用。对象所具有的封装性和信息隐蔽等特性,使其容易实现软件复用。对象类可以派生出新类,类可以产生实例对象,从而实现了对象类的数据结构和操作代码的软构件的复用。另外,面向对象程序设计语言的开发环境一般预定义了系统动态连接库,提供大量公用程序代码,避免重复编写,提高了开发效率和质量。面向对象技术允许复用的不仅仅是代码, 通过面向对象技术, 我们可以复用需求、分析、设计、
4、测试计划、用户界面以及体系结构等等, 事实上, 软件工程生存期中的每个部分都可以复用。(4)维护性好。在面向对象的方法中,系统由对象构成,对象是一个包含属性和操作两方面的独立单元,对象之间通过消息联系。这样的系统一旦出错,容易定位和修改,系统的可维护性好。2. 简述OOD模型的总体结构,并画图表示。OOD模型的总体结构:(1)问题论域部分:在OOA模型的基础上,细化分析结果,设计一组构成底层应用模型的类和对象。(2)人机交互部分:设计用户界面模型,该用户界面模型中的类和对象提供实现人机交互操作的接口函数。用户界面设计包括 菜单设计、窗口设计、输入/输出界面设计等等。(3)任务管理部分:建立一些
5、类,用以负责处理操作系统级的并发问题、中断、调度以及其它与特定平台有关的问题。 (4)数据管理部分:提供数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。数据管理设计包括: 数据存放设计。数据存放设计选择数据存放的方式。 设计相应的操作。为每个需要存储的对象和类增加用于存储管理的属性和操作,在类和对象的定义中加以描述。类及对象层 类及对象层 服务层 结构层 问题论域部分 人机交互部分 任务管理部分 数据管理部分 主题层 主 题 类边界 实例连接 属性 消息 服务 实例边界 图1 OOD模型的总体结构3. 面向对象开发分几个阶段,各完成什么任务? 面向对象开发主要分为面向对象
6、分析,面向对象设计和面向对象实现三个阶段。 面向对象分析的关键是定义所有与待解决问题相关的类,包括类的操作和属性、类与类之间的关系以及它们表现出的行为,主要完成 5项任务:1)全面深入调研分析,掌握用户业务需求细节及流程;2)准确标识类,包括定义其属性和操作;3)认真分析定义类的层次关系;4)明确表达对象与对象之间的关系;5)具体确定模型化对象的行为。 面向对象设计是将面向对象分析所创建的分析模型转换为设计模型,解决“怎么做”的问题。主要任务是:1)系统设计;将分析模型中紧密相关的类划分为子系统,子系统应具有良好的接口,且其中的类相互协作。2)对象设计;模块、数据结构及接口等都集中地体现在对象
7、和对象层次结构中,系统开发的全过程都与对象层次结构直接相关,是面向对象系统的基础和核心。3)设计优化。 面向对象实现的主要任务:1)将面向对象设计的结果翻译成用某种语言书写的面向对象程序,即编码;2)对用某种语言编写的面向对象程序进行有效的测试,即测试。4. 面向对象的三大机制是什么?解释其定义和作用。 面向对象的三大机制是封装,继承,多态。 封装是指将数据与具体操作的实现代码放在某个对象内部,使这些代码的实现细节不被外界发现,外界只能通过接口使用该对象,而不能通过任何形式修改对象内部实现,正是由于封装机制,程序在使用某一对象时不需要关心该对象的数据结构细节及实现操作的方法。使用封装能隐藏对象
8、实现细节,使代码更易维护,同时因为不能直接调用、修改对象内部的私有信息,在一定程度上保证了系统安全性。继承来源于现实世界,一个最简单的例子就是孩子会具有父母的一些特征,即每个孩子都会继承父亲或者母亲的某些特征,当然这只是最基本的继承关系,现实世界中还存在着更复杂的继承,面向对象之所以使用继承机制主要是用于实现代码的复用多个类所公用的代码部分可以只在一个类中提供,而其他类只需要继承即可。多态与继承纤细紧密,是面向对象编程中另一个突出的特征,所谓的多态是指在继承体系中,所有派生类都从基类继承接口,但由于每个派生类都是独立的实体,因此在接收同一消息的时候,可能会生成不同的响应。多态的作用作为隐藏代码
9、实现细节,使得代码能够模块化;扩展代码模块,实现接口重用。简单来说:一种行为产生多种效果。总的来说:封装可以隐藏实现细节同时包含私有成员,使得代码模块化并增加安全指数;继承可以扩展已存在的模块,目的是为了代码重用;多态则是为了保证:类在继承和派生的时候,保证家谱中任何类的实例被正确调用,实现了接口重用。5. 对象的生命周期是什么意思?在程序中如何正确声明和使用对象的实例? 每个对象都有一个明确定义的生命周期,即从使用类定义开始一直到删除它为止。在对象的生命周期中,除了“正在使用”的正常状态之外,还有“构造阶段”(即对象最初进行实例化的时期)和“析构阶段”(即在删除一个对象时,常常需要执行一些清
10、理工作)。对象必须建立在类的基础上,声明对象也就是实例化过程。对象是类的具体化的过程。对象的声明和基本类型的数据声明在形式上是一样的类名与对象名;对象名也是用户标识符,和基本类型的变量遵循同样的命名规则和使用规则。然后需要将对象名所代表的变量看成是一个引用变量,并为它分配所需内存空间。对象之后在实例化之后,才能成为类的一个实例。6. 描述编程中消息、方法、属性之间的关系。 消息是对象之间相互请求或相互协作的途径,是要求某个对象执行某个功能操作的规格说明。一个消息由三部分组成:接收消息的对象;完成方法的名字(接收对象采取的方法);方法所需的参数。方法称为成员函数,是指对象上的操作,作为类声明的一
11、部分来定义,方法定义了可以对一个对象执行那些操作。属性是类中所定义的数据,它是对客观世界实体所具有的性质的抽象描述。三者之间的关系:方法即成员函数,属性即数据成员,方法实现一定的功能,它会使用或改变类的数据成员,即属性。消息与方法指的都是成员函数,只是消息更偏重于指调用函数,即发送消息;而方法更偏重于指定义函数,如在类内具体定义一个函数。三者关系图示如下:7. 统一建模语言UML的优点?统一建模语言UML的优点: (1)统一标准;UML不仅统一了Booch,OMT和OOSE等方法中的基本概念,还吸取了面向对象技术领域中其它流派的长处,其中也包括非OO方法的影响。UML使用的符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的,多余的和极少使用的符号,也添加了一些新符号,提供了标准的面向对象的模型元素的定义和表示法。 (2)面向对象; UML支持面向对象技术的主要概念,它提供了一批基本的表示模型元素的图形和方法,能简洁明了地表达面向对象的各种概念和模型元素。 (3)表达能力强大,可视化。UML是一种图形化语言,用UML的模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东深圳海天中学2026-2027学年第一学期九年级英语9月阶段学情自测(含答案)
- 水文站观测员岗位技能考试试卷及答案
- 小学三年级阅读素养测评试题及答案
- 乳化机操作工岗位技能考试试卷及答案
- 外贸营销员岗前趋势考核试卷含答案
- 玻璃制品热加工工岗前基础操作考核试卷含答案
- 2026年十八项医疗核心制度考试题库(含参考答案)
- 高炉配管工安全素养知识考核试卷含答案
- 己内酰胺装置操作工岗前应急准备考核试卷含答案
- 丁苯橡胶装置操作工岗中操作评估考核试卷含答案
- 生物标本室安全管理制度
- T-CCTAS 34-2022 带肋钢筋轴向冷挤压连接技术规程
- 多式联运单证业务流程规范 编制说明
- 警务辅助人员警示教育
- 附着式升降脚手架施工计算书
- 年产12000吨聚羧酸高性能减水剂复配液及3000吨水泥助磨剂复配液项目环评报告表
- 仓储公司 仓储合同范例
- 人工智能训练师技能考核内容结构表
- 血糖监测与胰岛素注射
- 护理正高答辩常见问题
- 博物馆、展览馆的消防安全培训课件
评论
0/150
提交评论