面向对象方法学填空题10小题1对象具有状态描述对象_第1页
面向对象方法学填空题10小题1对象具有状态描述对象_第2页
面向对象方法学填空题10小题1对象具有状态描述对象_第3页
面向对象方法学填空题10小题1对象具有状态描述对象_第4页
面向对象方法学填空题10小题1对象具有状态描述对象_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

第9章 面向对象方法学一、填空题(10小题)1、对象具有状态,描述对象的状态用它的( )。答案:属性值2、类具有属性,描述类的属性用( )。答案:数据结构3、子类自动共享父类的属性和操作的机制称为( )。答案:继承4、封装性是指所有软件部件内部都有明确的( )以及清楚的( )。每个软件部件都有友好的( ),软件部件的( )与( )分离。答案:范围、外部边界、界面接口、内部实现、外部可访问性5、结构化方法的本质是( ),其( )、可修改性和可重用性都比较差。答案:功能分解、稳定性6、动态模型描述了系统的( )。答案:动态行为7、类具有属性,它是对象的( )的抽象,用( )来描述类的属性。答案:状态、数据结构8、动态模型描述了系统的( )结构。答案:控制9、对象具有状态,对象用( )来描述它的状态。答案:数据值10、在C+和C中有一个( )函数,可以使用这个过程来说明构成系统主要对象的那些类的实例。答案:main()二、单项选择题(20小题)1、在确定类时,所有( )是候选的类。A、名词B、形容词C、动词D、代词答案:A2、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是( ),一个类获得其父类的全部描述(数据和操作)。A、传递性B、继承性C、复用性D、并行性答案:B3、对象是面向对象开发方法的基本成分,每个对象可用它本身的一组( )和它可以执行的一组操作来定义。A、服务B、参数C、属性D、调用答案:C4、面向对象开发方法子概念和表示上的一致性保证了分析和设计的( )过渡。A、困难B、不容易C、平滑D、顺序答案:C5、以下说法正确的是( )。A、组装结构可用来描述现实世界中的一般的抽象关系B、分类结构可用来描述现实世界中的类的组成的抽象关系C、面向对象的继承性是子类自动共享父类数据结构和方法的机制D、面向对象的唯一性是指将具有一致性的数据结构(属性)和行为(操作)的对象抽象成类答案:C6、与事件联系在一起的瞬时操作是( )。A、处理B、动作C、活动D、加工答案:B7、以下说法正确的是( )。A、角色说明类在关联中的作用,它位于关联的端点B、不同类的关联角色不能省略C、同类的关联角色可有可无D、在一个类层次结构中,若有多重继承,则该类层次结构是树状层次结构E、在一个类层次结构中,若有单重继承,则该类层次结构是网状层次结构答案:A8、以下说法错误的是( )。A、数据流图中的处理用来改变数据值B、在一个计算中,用数据流来表示一中间数据值,数据流不能改变数据值C、动作对象是一种主动对象,它通过生成或者使用数据值来驱动数据流图D、数据流图中的数据存储是被动对象,它用来存储数据E、存储和动作对象可以用文件或外部设备来实现答案:E9、Rumbangh等人提出的对象模型技术OMT把分析时收集的信息构造在三类模型中,即对象模型、动态模型和( )。A、信息模型B、控制模型C、功能模型D、行为模型答案:C10、( )模型表示了对象的相互行为。A、对象B、动态C、功能D、分析答案:B11、在开发废弃型类时,在软件生存期中最花费时间的部分应当是软件的( )。A、实现B、测试C、设计D、求精和维护答案:D12、通过执行对象的操作改变该对象的属性,但它必须通过( )的传递。A、接口B、消息C、信息D、操作答案:B13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( )。A、数据流图B、状态图C、系统结构图D、时序图答案:B14、在确定属性时,所有( )是候选的属性。A、动词B、名词C、修饰性名次词组D、词组答案:C15、一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有( )优点。A、设计稳定B、变换分析C、事务分析D、模块独立性答案:A16、以下说法错误的是( )。A、多态性防止了程序相互依赖性而带来的变动影响B、多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果C、多态性与继承性相结合使软件具有更广泛的重用性和可扩充性D、封装性是保证软件部件具有优良的模块性的基础答案:A17、以下说法正确的是( )。A、对象模型指出发生了什么B、动态模型确定什么时候发生C、功能模型确定发生的客体D、功能模型描述了系统的所有计算,它考虑所计算的次序答案:B18、面向对象的主要特征除对象唯一性、封装、继承外,还有( )。A、多态性B、完整性C、可移植性D、兼容性答案:A19、动态模型的描述工具是( )。A、对象图B、结构图C、状态图D、设计图答案:C20、软件部分的内部实现与外部可访问性分离,这是指软件的( )。A、继承性B、共享性C、封装性D、抽象性答案:C三、简答题(5小题)1、传统开发方法存在的问题是什么?答案:传统开发方法存在的问题是:(1)软件重用性差。传统的开发方法,例如结构化方法等,虽然给软件产业带来了巨大进步,但是并没有解决软件重用的问题。同类型的项目,只要需求有一些变化,都要从头开始,原来的系统很难重用。(2)软件可维护性差。用传统方法开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。(3)开发出的软件不能满足用户需要。用传统的结构化方法开发大型软件系统涉及各种不同领域知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。其原因是开发人员不能完全获得或不能彻底理解用户的需求,以致开发出的软件系统与用户预期的系统不一致,不能满足用户的需要。另一种原因是所开发的软件系统不能适应用户经常变化的情况,系统的稳定性差和可扩充性不能满足用户的需求。2、试述面向对象方法有哪些特征。答案:面向对象的特征为:(l)对象唯一性。每个对象都有自身的唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。在对象建立时,有系统授予新对象以唯一的对象标识符,它在历史版本管理中又起巨大作用。(2)分类性。分类性是指具有一致的数据结构(属性)和行为(操作)的对象抽象成类。每个类是具有相同性质的个体对象的集合,而每个对象是相关类的实例。(3)继承性。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。继承性是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。在类层次中,子类只继承一个父类的数据结构和方法,则称为“单重继承”。在类层次中,子类继承了多个父类的数据结构和方法,则称为“多重继承”。(4)多态性(多形性)。多态性是指允许不同类的对象对同一消息作出响应。不同的对象,收到同一消息可以产生不同的结果,这种现象称为“动态性”。如MOVE操作,可以是窗口对象的移动操作,也可以是国际象棋子移动的操作。多态性允许每个对象以适合自身的方式去响应共同的消息。这样就增强了操作的透明性、可理解性和可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。3、为什么说用结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差?答案:这是因为结构化方法的本质是功能分解,从代表目标系统状态功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,这样一层一层地分解下去,直到仅剩下若干个容易实现的子处理为止,然后用相应的工具来描述各个最底层的处理。因此,结构化方法是围绕实现处理功能的“过程”来构造系统的。然而,用户需求的变化大部分是针对功能的。用这种方法设计出来的系统结构常常是不稳定的,用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。4、简述对象、类、类结构、消息、方法的基本概念。答案:它们的基本概念如下。(1)对象。对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。主要有如下的对象类型:有形实体、作用、事件、性能说明。对象具有状态。一个对象用数据来描述它的状态,对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。对象内的数据具有自己的操作。从而可灵活地专门描述对象的独特行为,具有较强的独立性和自治性,其内部状态不受或很少受外界的影响,具有很好的模块化特点。为软件重用奠定了坚实的基础。(2)类。类是具有相同属性和服务的一组对象的集合。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。(3)类结构。在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般一具体结构关系,整体一部分结构关系。一般一具体结构关系称为“分类关系”,也可以说是“或”关系,或者是“isa”关系。类的这种层次结构可用来描述现实世界中的一般化的关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体、越细化。整体一部分结构称为“组装结构”,它们之间的关系是一种“与”关系,或者是“hasa”关系。类的这种层次关系可用来描述现实世界中的类的组成的抽象关系。上层的类具有整体性,下层的类具有成员性。在类的层次结构中,通常上层类称为“父类”或“超类”,下层类称为“子类”。(4)消息。对象之间进行通信的构造叫做消息。在对象的操作中,当一个消息发送到某个对象时,消息包含接收对象去执行某种操作的信息。接收信息的对象经过解释,然后给予响应。这种通信机制称为“信息传递”。发送一条信息至少要包含说明接收消息的对象名、发送给该对象的消息名(即对象名,方法名),一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。(5)方法。类中操作的实现过程叫做“方法”,一个方法有方法名、参数、方法体。当一个对象接收一条消息后,它所包含的方法决定对象怎样动作。方法也可以发送消息给其他对象,请求执行某一动作或提供信息。由于对象的内部对用户是密封的,所以消息只是对象同外部世界连接的管道。对象内部的数据只能被自己的方法所操纵。5、试述面向对象方法的开发过程是怎样的?答案:面向对象开发方法包括以下几个过程:(1)面向对象的分析。面向对象分析的目的是对客观世界的系统建立对象模型、动态模型、功能模型。在建立模型之前,设计者必须了解需求以及问题所处的环境,必须调查所有需求,分析所有需求的实质含义。在理解系统需求的基础上,按照上述建立模型的过程进行建模工作。建立模型的工作不是一次就可建好的,复杂问题的模型需要反复构造,先构造模型的子集,然后扩展到整个模型。(2)面向对象的设计。面向对象的设计是把分析阶段得到的分析模型,经过逐步扩充和完善,转变为设计模型。将分析模型的问题域的概念转变为设计模型的实现概念上来。面向对象的设计也可以细分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构,如人机界面的设计。数据管理的设计、软件控制的实现、系统的体系结构等。对象设计确定实现用到的类、关联的完整定义、接口形式及实现操作方法的算法,可以增加实现所必须的内部对象,对数据结构和算法进行优化。面向对象的设计所遵循的基本原理和启发规则与结构化设计方法类似,但是增加了一些面向对象的新特点。尽管面向对象分析和面向对象设计是两个阶段,但是在实际的软件开发中二者的界限是很模糊的,许多分析结果可以映射为设计结果,而在设计过程中又往往会加深和补充对系统需求的理解,从而进一步完善分析结果。因此,分析和设计是一个多次反复迭代的过程。(3)面向对象的实现。面向对象的实现包含两方面的工作,把面向对象的设计结果翻译成用某种程序设计语言书写的

温馨提示

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

评论

0/150

提交评论