当前位置:文档之家› 面向对象程序设计期末复习分析

面向对象程序设计期末复习分析

一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1 分,共20 分)3.下列不属于面向对象技术的基本特征的是(B)。

A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与(C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。

A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是(C )。

A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好8. 下列不属于类的成员函数的是( 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.对象图 B. 协作图 C. 状态图 D. 序列图17.(D )就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。

A. 组件图B. 协作图C. 状态图D. 配置图18. 在用UML进行数据库的分析与设计过程中,( B ) 就是进行数据库的需求分析,使用用例图、类图、顺序图、活动图等建立业务模型。

A. 逻辑数据模型设计 B 业务Use Case模型设计C. 物理数据模型设计D. 物理实现设计19. 使用UML进行关系数据库的(B )时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。

A. 业务Use Case模型设计B. 逻辑数据模型设计C. 物理数据模型设计 C. 物理实现设计20. UML的动态建模表示包含(C )种图。

A. 9B. 5C. 4D. 2二、填空题( 每空1 分,共20 分)1. 面向对象开发方法一改过去传统的以_功能分析,面向过程_为基础的_对象_的结构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列_对象_的集合,其__面向对象的设计_又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的__概念_,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与___解空间___在结构上尽可能一致。

因此,采用面向对象方法可以更有效地开发大型软件系统。

面向对象方法的_封装__、__继承_、_多态_等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服_软件危机__。

因此,它已成为成熟的广为采用的软件开发方法。

2. 对象是客观实体的抽象表示,是由___描述对象属性的数据___和____对这些数据进行的操作行为___两部分组成。

而___类___是对具有相同属性和行为的一组对象的抽象描述。

因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的_____实例___。

通过___继承__关系又可形成一种类层次结构。

3. UML中用于描述系统的静态建模的视图称为静态视图,包括___用例图___、____类图___、____对象图___、____包图___和___构件图、配置图__。

什么是面向对象?面向对象的基本特征有哪些?你是如何理解的。

软件工程学家认为:面向对象=对象+类+继承+通讯。

客观世界是由对象组成的。

具有相同类型数据和相同操作的对象可以归并为一类,对象是类的一个实例。

类可以产生子类,子类继承父类的特性。

对象之间通过消息传递相互联系。

面向对象的基本特征:抽象,封装,继承和多态。

类和对象的定义类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。

对象是具有类类型的变量。

面向对象的基本特点:1)对象唯一性。

每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。

在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。

(2)分类性。

分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。

一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。

任何类的划分都是主观的,但必须与具体的应用有关。

(3)继承性。

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容(4)多态性(多形性)多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。

不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

二、面向对象的基本概念(1)对象。

对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

(2)对象的状态和行为。

对象具有状态,一个对象用数据值来描述它的状态。

对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。

对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中(3)类。

具有相同或相似性质的对象的抽象就是类。

因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。

类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。

类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

(4)类的结构。

在客观世界中有若干类,这些类之间有一定的结构关系。

通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。

①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。

②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。

(5)消息和方法。

对象之间进行通信的结构叫做消息。

在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。

发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。

一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。

UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。

答:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。

与顺序图一样,协作图也展示对象之间的交互关系。

顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。

顺序图按照时间顺序布图,而协作图按照空间组织布图。

顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。

协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。

试说明应用UML在软件开发过程中的步骤。

1.UML通常用于软件开发的“需求分析”和“设计”阶段,即在“编码”阶段之前。

2.采用标准的图示化的方式说明系统的需求、进行结构设计,通常称作建模。

3.最早用于采用面向对象编程的语言,即面向对象方法。

现在也用于其它行业的建模。

4.java只是一种编程语言,一种开发工具。

用它去开发或实现某个系统和产品时,首先需要了解和回答用它要做什么?你可以用文档也可以用图形来说明,但UML表示法是最标准和通用的,UML可让其它与你配合的人更清楚你的想法。

图形是最简洁的表述思想方式。

2.简述面向对象技术的三大机制。

答:(1)封装性:所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。

(2)继承性:如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。

前一个类称为父类,新产生的类叫做子类。

通过继承关系可形成一种类层次结构,叫做继承结构。

(3)多态性:在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。

3. 简述OOA模型的层次结构答:OOA模型采用五层次结构,它们分别是:(1)对象-类层:划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。

(2)属性层:定义对象和某些结构中的数据单元,继承结构中所有类的公共属性可放于通用类中。

标识对象类必需的属性并放在合适的继承层次上,属性的特殊限制和实例连接关系也应标识出来。

(3)服务层:表示对象的服务或行为,即是要定义类上的操作。

(4)结构层:标识现实世界中对象之间的关系。

当一个对象是另一个对象的一部分时,用"整体-部分"关系表示;当一个类属于另一个类时,用类之间继承关系表示。

(5)主题层:可将相关类或对象划分为一个主题。

在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。

系统用例图如下(a)选课管理的用例图学生(b )成绩管理的用例图对象类图如下:(a )选课对象类图(b )成绩管理对象类图学生借书时序图:。

相关主题