第三章
一、填空题
(1)方法或服务
(2)类 对象
(3)类 对象 继承 消息通信
二、选择题
(1)B
(2)C
(3)C
(4)B
(5)D
三、简答题
(1)什么叫面向对象?面向对象方法OOM的特点是什么?为什么用OOM开发软件?
面向对象是一种软件开发方法,它将数据和操作数据的方法封装在对象中,通过对象之间的交互来实现程序的功能
面向对象方法OOM具有以下的特点:
(1)符合人类分析解决问题的习惯思维方式;
(2)各阶段所使用的技术方法具有高度连续性;
(3)开发阶段有机集成有利系统稳定;
(4)重用性好。
使用面向对象方法开发软件可以提高代码的重用性、可维护性和灵活性。
(2)面向对象的开发方法与面向数据流的结构化开发方法有什么不同?
面向对象的开发方法 | 面向数据流的结构化开发方法 |
---|---|
强调的是数据和操作数据的行为绑定在一起,形成对象 | 侧重于数据在系统中的流动和处理 |
面向对象的方法注重于系统的可重用性、可扩展性和可维护性 | 强调程序的逻辑结构,通常使用流程图来表示数据流和控制流 |
使用类、对象、继承、封装和多态等概念来构建软件 | 使用过程、函数、子程序等概念来组织代码 |
使用抽象和封装来隐藏内部实现细节,只暴露必要的接口 | - |
适用于复杂的系统开发,特别是那些需要高度模块化和可维护性的系统 | 适用于需求明确、规模较小的系统开发 |
(3)面向对象的特征和要素是什么?
面向对象编程是一种编程范式,它通过封装、继承、多态和抽象等特征,将数据和操作数据的代码组织成对象,以实现代码的重用、扩展和维护
(4)基于复用的面向对象的需求分析过程中主要分为哪两个阶段?它们各自承担什么任务?如何衔接?
两个阶段:论域分析和应用分析。
论域分析是软件开发的一个基本组成部分,它给出一组抽象,这组抽象是论域知识的高层表示,它常常超出当前应用的范围,可以用来作为特定系统需求开发的参考。
论域分析是一个持续的活动,它所涉及的范围可超出特定应用,当论域变化时,可不断更新相关的抽象和关系。论域分析的结果可积累更多的有关论域的经验和细化的抽象。
应用分析的依据是在论域分析时建立起来的论域分析模型,并把它用于当前正在建立的应用当中。客户对系统的需求可以当作限制来使用,用它们缩减论域的信息量。就这一点来说,保留的信息受到论域分析视野的影响。论域分析产生的模型并不需要用任何基于计算机系统的程序设计语言来表示,而应用分析阶段产生的影响则伴随着某种基于计算机系统的程序设计语言的表示。响应时间需求、用户界面需求和某种特殊的需求,如数据安全等,都在这一层分解抽出。
(5)在类的通过复用的设计中,主要的继承关系有哪几种?试举例说明。
在类的通过复用的设计中,主要的继承关系有两大类:
①配置:利用既存类来设计类,可能会要求由既存类的实例提供类的某些特性。通过把相应类的实例声明为新类的属性来配置新类。例如,一种仿真服务器可能要求使用一个计时器来跟踪服务时间。设计者不必开发在这个行为中所需的数据和操作,而是应当找到计时器类,并在服务器类的定义中声明它。但如果使用既存类的内部表示来做为新类的内部表示的一部分,这是一-种“针对实现”的继承方式,这种继承方式不好。
②演变:要开发的新类可能与一个既存类非常类似,但不完全相同。此时可以从一个既存类演变成一个新类,可以利用继承机制来表示一般化——特殊化的关系。特殊化处理有三种可能的方式。如果新的概念是一个既存类所表示概念的一个特殊情况,特殊化运算可以从该既存类的定义产生新类的初始构造,这是典型的类继承的使用。