《面向对象程序设计期末复习分析.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计期末复习分析.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计期末复习分析 一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1 分,共20 分) 3下列不属于面向对象技术的基本特征的是(B)。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与(C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是(C )。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 8. 下列不属于类
2、的成员函数的是( C )。 A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数 9. 继承机制的作用是( C )。 A. 信息隐藏 B. 数据封装 C. 派生新类 D. 数据抽象 14. (D )是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 15. (C ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作 图和其他图的基础。 A对象图 B. 组件图 C. 类图 D. 配置图 16.(D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对 象之间传递消息的时间顺序。 A对象图
3、 B. 协作图 C. 状态图 D. 序列图 17.(D )就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示 系统中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 18. 在用UML进行数据库的分析与设计过程中,( B ) 就是进行数据库的需求分析,使用用 例图、类图、顺序图、活动图等建立业务模型。 A. 逻辑数据模型设计 B 业务Use Case模型设计 C. 物理数据模型设计 D. 物理实现设计 19. 使用UML进行关系数据库的(B )时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)
4、等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 20. UML的动态建模表示包含(C )种图。 A. 9 B. 5 C. 4 D. 2 二、填空题( 每空1 分,共20 分) 1. 面向对象开发方法一改过去传统的以_功能分析,面向过程_为基础的_对象_的结 构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为 一系列_对象_的集合,其_面向对象的设计_又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的_概念_,从而使面向对象的软件开发能比
5、较自然地模拟客观世界的活动,使问题描述空间与_解空间_在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的_封装_、_继承_、_多态_等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服_软件危机_。因此,它已成为成熟的广为采用的软件开发方法。 2. 对象是客观实体的抽象表示,是由_描述对象属性的数据_和_对这些数据进行的 操作行为_两部分组成。而_类_是对具有相同属性和行为的一组对象的抽象描述。因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的_实例_。通过_继承_关系又可形成一
6、种类层次结构。 3. UML中用于描述系统的静态建模的视图称为静态视图,包括_用例图_、 _类图_、_对象图_、_包图_和_构件图、配置图_。 什么是面向对象?面向对象的基本特征有哪些?你是如何理解的。 软件工程学家认为:面向对象=对象+类+继承+通讯。客观世界是由对象组成的。具有相同类型数据和相同操作的对象可以归并为一类,对象是类的一个实例。类可以产生子类,子类继承父类的特性。对象之间通过消息传递相互联系。面向对象的基本特征:抽象,封装,继承和多态。类和对象的定义类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。对象是具有类类型的变量。 面向对象的基本特
7、点: 1)对象唯一性。 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。 (2)分类性。 分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。 (3)继承性。 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容 (4)多态性(多形
8、性) 多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 二、面向对象的基本概念 (1)对象。 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。 (2)对象的状态和行为。 对象具有状态,一个对象用数据值来描述它的状态。 对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。 对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中 (3)类。 具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就
9、是对象,也可以说类的实例是对象。 类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。 类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。 (4)类的结构。 在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般-具体结构关系,整体-部分结构关系。 一般具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。 整体部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。 (5)消息和方法。 对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发
10、送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。 UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各 自的优缺点。 答:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显 示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。 顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。 顺序图按照时间顺序布图,而协作图按照空间组织布图。 顺序图可以清晰地表示消息之间
11、的顺序和时间关系,但需要较多的水平方向的空间。 协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。 试说明应用UML在软件开发过程中的步骤。 1.UML通常用于软件开发的“需求分析”和“设计”阶段,即在“编码”阶段之前。 2.采用标准的图示化的方式说明系统的需求、进行结构设计,通常称作建模。 3.最早用于采用面向对象编程的语言,即面向对象方法。现在也用于其它行业的建模。 4.java只是一种编程语言,一种开发工具。用它去开发或实现某个系统和产品时,首先 需要了解和回答用它要做什么?你可以用文档也可以用图形来说明,但UML表示法是 最标准和通用的,UML可让
12、其它与你配合的人更清楚你的想法。图形是最简洁的表述思想方式。 2.简述面向对象技术的三大机制。 答:(1)封装性:所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。 (2)继承性:如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。前一个类称为父类,新产生的类叫做子类。通过继承关系可形成一种类层次结构,叫做继承结构。 (3)多态性:在类层次结构的不同类中,可用相
13、同的函数名实现功能不同的函数。 3. 简述OOA模型的层次结构 答:OOA模型采用五层次结构,它们分别是: (1)对象-类层:划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。 (2)属性层:定义对象和某些结构中的数据单元,继承结构中所有类的公共属性可放于通用类中。标识对象类必需的属性并放在合适的继承层次上,属性的特殊限制和实例连接关系也应标识出来。 (3)服务层:表示对象的服务或行为,即是要定义类上的操作。 (4)结构层:标识现实世界中对象之间的关系。当一个对象是另一个对象的一部分时,用整体-部分关系表示;当一个类属于另一个类时,用类之间继承关系表示。 (5)主题层:可将相关类或对象划分为一个主题。 在UML中主要包括的视图 为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。 系统用例图如下 (a )选课管理的用例图学生(b )成绩管理的用例图 对象类图如下: (a )选课对象类图 (b )成绩管理对象类图 学生借书时序图:
限制150内