第10章 面向对象的方法Word下载.docx
《第10章 面向对象的方法Word下载.docx》由会员分享,可在线阅读,更多相关《第10章 面向对象的方法Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
![第10章 面向对象的方法Word下载.docx](https://file1.bdocx.com/fileroot1/2023-2/5/2db2459b-cfe2-4dea-85e0-2bb452033b08/2db2459b-cfe2-4dea-85e0-2bb452033b081.gif)
C.修饰性名词词组
D.词组
三、应用题
1.建立窗口系统的对象模型。
问题陈述如下:
窗口分为对话窗、图形窗、滚动窗三种;
对话窗中有若干对话项,由唯一的项名字来确定,对话项分为按钮、选择项、正文项三种,选择项中有若干对话项入口;
图形窗中有若干形状元素,形状元素分为一维形状和二维形状,一维形状又分为直线、圆弧、折线;
二维形状分为圆、椭圆、矩形、多边形,其中多边形和折线由若干有序顶点组成,正文窗是滚动窗的一种,而图形滚动窗既是一种图形窗又是一种滚动窗。
2.在学校教学管理系统中,学生查询成绩就是系统中的一次交互,请用状态图来描述这种查询的交互行为。
答案:
1.对象
2.属性值
3.类
4.组装
5.继承性
6.动态行为
1.D
2.C
3.C
4.B
5.B
6.C
1.
2.
第10章自测题及参考答案
2006年9月1日 发表评论 进入社区
一、名词解释
1.对象
2.类
3.属性
4.操作
5.消息
6.消息传递
7.方法
8.关系
9.关联
10.一般具体关系
11.整体部分关系
12.继承
13.单重继承
14.多重继承
15.多态性
16.角色
17.受限关联
18.封装
19.对象模型
20.动态模型
21.功能模型
22.事件
23.状态
24.事件追踪
25.状态图
26.动作
27.活动
28.处理
29.数据流
30.动作对象
31.数据存储对象
32.重用性
二、填空题
1.对象具有封装性,实现了______的结合。
2.类的实例化是______。
3.类具有属性,描述类的属性用______。
4.类具有操作,它是对象______的抽象。
5.对象之间进行通信的构造叫做______。
6.子类自动共享父类的属性和操作的机制称为______。
7.子类只继承一个父类的属性和操作,这称为______。
8.不同应用中信息共享的这种机制和构造是通过______来实现的。
9.对象模型的主要元素是类、关联和______。
10.受限关联由两个类和一个______组成。
三、选择题
1.汽车有一个发动机。
汽车和发动机之间的关系是(
A.一般具体
C.分类关系
D.isa
2.面向对象程序设计语言不同于其他语言的最主要特点是(
A.模块性
B.抽象性
C.继承性
D.共享性
3.软件部件的内部实现与外部可访问性的分离,是指软件的(
A.继承性
B.共享性
C.封装性
D.抽象性
4.类库这种机制是(
)级别的信息共享。
A.同一类
B.不同类
C.同一应用
D.不同应用
5.动态模型的描述工具是(
B.结构图
C.状态图
D.设计图
6.在只有单重继承的类层次结构中,类层次结构是(
C.星型
D.环型
7.表示对象的相互行为的模型是(
A.对象
C.功能
D.静态
8.有时间间隔的操作是(
A.动作
B.活动
C.加工
D.处理
9.与事件联系在一起的瞬时操作是(
A.处理
B.动作
C.活动
D.加工
10.在确定类时,所有(
)是候选的类。
A.名词
B.形容词
C.动词
D.代词
11.常用动词或动词词组来表示(
B.类
C.关联
D.属性
四、简答题
1.说明面向对象的特征。
2.说明面向对象的要素。
3.说明对象的本质。
4.说明对象模型的特征。
5.说明动态模型的特征。
6.说明功能模型的特征。
7.说明构造对象模型的各个元素及图形表示。
8.说明构造动态模型的各个元素及图形表示。
9.说明构造功能模型的各个元素及图形表示。
10.说明分析阶段建立的三个模型的关系。
11.说明确定类、属性、关联的方法。
12.说明确定一般具体关系的方法。
13.说明确定整体部分关系的方法。
14.说明确定操作的方法。
15.说明建立对象模型的过程。
16.说明建立动态模型的过程。
17.说明建立功能模型的过程。
18.说明系统设计的步骤。
19.说明对象设计的步骤。
20.说明面向对象的实现。
五、应用题
1.一本书的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。
建立该书的对象模型。
2.交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机,陆上交通工具分为火车、汽车;
火车汽车又分为客车、货车;
水上交通工具分为客轮、货轮、客货混合轮。
建立交通工具的对象模型。
3.一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。
主机包括一个机箱,一个主板,一个电源,存储器等部件。
存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。
建立微机的对象模型。
4.一个软件公司有许多部门,分为开发部门和管理部门两种。
每个开发部门开发多个软件产品。
每个部门由部门名字唯一确定。
该公司有许多员工,员工分为经理、工作人员和开发人员。
开发部门有经理和开发人员,管理部门有经理和工作人员。
每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。
每位经理可主持多个开发项目。
建立该公司的对象模型。
5.在温室管理系统中,有一个环境控制器类,当没有种植作物时处于空闲状态。
一旦种上作物,就要进行温度控制,定义气候,即在什么时期应达到什么温度。
当处于夜晚时,由于温度下降,要调用调节温度过程,以便保持温度;
太阳出来时,进入白天状态,由于温度升高,要调用调节温度过程,保持要求的温度。
当日落时,进入夜晚状态。
当作物收获,终止气候的控制,则进入空闲状态。
建立环境控制器类的状态图。
参考答案
1.数据和操作
2.对象
3.数据结构
4.行为
5.消息
6.继承
7.单重继承
8.类库
9.关系
10.限定词
1.B
2.C
3.C
4.D
5.C
6.A
7.B
8.B
9.B
10.A
11.C
1.书的对象模型如图10-1所示。
2.交通工具的对象模型如10-2所示。
3.微机的对象模型如图10-3所示。
4.软件公司的对象模型如图10-4所示。
5.温室管理系统中的环境控制器类的状态图如图10-5所示。
第十章仿真试题
1.面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。
A、Booch方法
B、UML语言
C、OMT方法
D、Coad方法
2、一个面向对象系统的体系结构通过它的()关系确定。
A、类与对象
B、成分对象和对象
C、过程和对象
D、类与对象
3、功能模型中所有的()往往形成一个层次结构。
在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。
A、数据流图
B、概念模型图
C、状态迁移图
D、事件追踪图
4、()应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。
A、论域分析
B、高层分析
C、实例的建立
D、类的开发
5、通过执行对象的操作改变对象的属性,但它必须通过()的传递。
A、接口
B、消息
C、信息
D、操作
6、所有的对象可以成为各种对象类,每个对象类都定义了一组()
A、说明
B、方法
C、过程
D、类型
7、一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是
A、设计稳定
B、变换分析
C、事务分析
D、模块独立性
8、每个对象可用它自己的一组属性和它可以执行的一组()来表征。
A、行为
B、功能
C、操作
D、数据
9、面向对象的主要特征除对象唯一性、封装、继承外,还有()
A、多态性
B、完整性
C、可移植性
D、兼容
10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有()
A、隐藏复杂性
B、信息隐藏
C、即存类的重用
D、类的开发
11、应用执行对象的操作可以改变该对象的()
A、属性
C、行为
12、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父亲,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父亲的全部描述(数据和操作)
A、传递性
B、继承性
C、复用性
D、并行性
13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:
一个是事件追踪图,另一个是()
B、状态图
C、系统结构图
D、时序图
答案:
2.B
3.A
4.A
5.B
6.B
7.A
8.C
9.A
10.B
11.A
12.B
13.B
第10章
1、说明对象、类、类结构、消息的基本概念。
答:
(1)对象:
对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
对象包括有形实体、作用、事件、性能说明等类型。
对象具有状态和行为。
一个对象用数据值来描述它的状态,对象的操作则用于改变状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
对象内的数据具有自己的操作,从而可灵活地专门描述对象的独特行为,具有较强的独立性和自治性,其内部状态不受或很少受外界的影响,具有很好的模块化特点。
为软件重用奠定了坚实的基础。
(2)类:
具有相同或相似性质的对象的抽象就是类。
因此,对象的抽象就是类,类的具体化就是对象,也可以说类的实例是对象。
(3)类结构:
类与类之间的结构关系,包括一般-具体结构关系和整体-部分结构关系。
一般-具体关系结构称为分类结构,也可以说是"
或"
关系或"
isa"
关系,类的这种层次结构可用来描述现实世界中的一般化的抽象关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体、越细化。
整体-部分结构称为组装结构,它们之间的关系是一种"
与"
关系,或者是"
hasa"
关系。
类的这种层次关系可用来描述现实世界中的类的组成的抽象关系。
上层的类具有整体性,下层的类具有成员性。
在类的层次结构中,通常上层的类称为父类或超类,下层类称为子类。
(4)消息:
对象之间进行通信的构造叫做消息。
在对旬的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。
接收消息的对象经过解释,然后给予响应。
这种通信机制称为消息传递。
发送一条消息的格式是"
对象名.方法名(参数)"
。
2、说明面向对象的特征和要素。
面向对象的特征是:
(1)对象唯一性。
每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。
(2)分类性。
是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类
(3)继承性。
是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。
(4)多态性。
是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。
面向对象的要素是:
(1)抽象。
(2)封装性(信息隐蔽)
(3)共享性。
3、说明对象模型的特征,举现实世界的例子,给出它的一般关系、聚集关系的描述。
对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述。
表现了对象的相互关系。
该模型的特征是用对象图来表现对象的结构、属性和操作,它是分析阶段三个模型的核心,也是其他两个模型的框架。
在对象模型中,定义了两种类的层次结构:
一般化关系和聚集关系。
一般化关系是在保留对象差异的同时共享对象相似性的一种高度抽象方式,即"
一般-具体"
的关系。
比如下图所示:
聚集关系是一种"
整体-部分"
在这种关系中,有整体类和部分类之分。
如下图所示:
4、说明动态模型的特征,说明事件,脚本、状态的含义。
动态模型是与时间和变化有关的系统性质,该模型描述了系统的控制结构,它表示了瞬时的、行为化的系统控制性质,它关心的是系统的控制,操作的执行顺序,它从对象的事件和状态的角度出发,表现了相互行为。
事件是指特定时刻发生的某件事情,它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。
脚本是完成系统某个功能事件序列,侧重于表达说明发生于系统执行过程中的一个特定场景,用事件跟踪图表达。
状态是对象属性值的抽象。
状态指明了对象对输入事件的响应。
5、说明功能模型的特征,比较功能模型的DFD和结构化方法的DFD异同。
功能模型描述了系统的所有计算。
功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。
功能模型表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。
功能模型由多张数据流图组成。
数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。
功能模型也包括对象模型中值的约束条件。
6、说明三种分析模型的关系。
三种分析模型之间关系是这样的:
7、说明对象建模的过程。
对象建模的过程如下:
首先标识类和关联,因为它们影响了整体结构和解决问题的方法,其次是增加属性,进一步描述类和关联的基本网络,使用继承合并和组织类,最后将操作增加到类中去作为构造动态模型和功能模型的副产品。
(1)确定类。
构造对象模型的第一步是标出来自问题域的相关对象类,包括物理实体和概念。
所有类在应用中都必须有意义。
检查问题陈述中的所有名词,产生暂定类。
然后去掉不必要的类和不正确的类。
(2)准备数据字典。
为所有建模实体准备一个数据词典。
准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。
(3)确定关联。
两个或多个类之间的相互依赖就是关联。
从问题中抽取所有可能的关联表示,把它们记下来,但不要过早去细化这些表述。
(4)确定属性。
属性是个体对象的性质,通常用修饰性的名词词组来表示。
只考虑与具体应用直接相关的属性,不考虑那些超出问题范围的属性,首先找出重要属性,避免那些只用于实现的属性,要为各个属性取有意义的名字。
(5)使用继承来细化类。
(6)完善对象模型。
8、说明动态建模的过程。
动态建模的过程如下:
(1)准备脚本
(2)确定事件
(3)准备事件跟踪表
(4)构造状态图
9、说明功能建模的过程。
功能建模的过程如下:
(1)确定输入、输出值
(2)建立数据流图
10、说明对象设计的步骤。
对象设计要确定实现用到的类、关联的完整定义,接口的形式以及实现操作方法的算法,可以增加实现必须的内部对象,对数据结构和算法进行优化。
(1)获得操作
(2)确定操作的目标对象
(3)算法设计
(4)优化设计
(5)控制的实现
(6)调整继承
(7)关联的设计
11、用面向对象方法建立一个现实问题的分析模型。
题目如下:
学校管理系统要存储下列数据:
(1)系:
系名,系主任
学生:
学号,姓名,学生所属系
教师:
工作证号,姓名,教师所属系
研究生:
专业方向
教授:
研究领域
课程:
课程号,名称,学分
(2)学生每学期要选修若干门课程,每门课有一个考试成绩;
莫个学期开设的莫门课程只有一个任教教师;
一个教师只任教一门课;
一个教师有能力讲授多门课程,一门课程也可以有多位教师能够讲授;
每个研究生只能跟随一位教授.
1)画出表示上述数据的对象模型(不必考虑服务)
2)给出实现这个对象模型的对象类设计.
解:
暂无。