面向对象分析与设计复习提要1.ppt
文本预览下载声明
《面向对象分析与设计》复习提要;第一部分 面向对象技术的基本概念和基本方法;第二代(20世纪70年代末开始到80年代盛行的),以PASCAL、COBOL等编程语言和关系数据库管理系统为标志的结构化系统分析和设计技术。
为了克服软件危机,人们主要从如下两个方向做了努力:
一是从管理的角度改进软件开发方法,提出了
软件工程方法,大大改善了软件的质量与可维护性。
二是侧重于对软件开发过程中分析与设计方法的研究和改进 。这方面的重要成果就是在70年代出现了风靡一时的结构化开发方法—结构化系统分析和设计技术。
。;第三代 (80年代开始至今还盛行的)以Smalltalk、C++等为代表的面向对象软件开发方法(OO)。
(问题1:面向对象软件开发方法发展的动因
是什么?)
传统的结构化程序设计以算法为核心,把本来密切相关的数据和对数据的操作分离开来,很难保持数据和操作的一致性,其软件开发方法也不符合人们的自然思维习惯,设计出来的软件系统其解空间与问题空间不一致,致使程序难以理解、修改和扩充,最终导致程序复杂性问题和软件危机。为了超越程序复杂性障碍,克服软件危机,人们提出了面向对象软件开发方法。
; (问题2:面向对象软件开发方法的优点有哪些?)
面向对象开发方法一改过去传统的以功能分析和功能分解为基础的面向过程的结构化分析与设计方法,面向对象开发方法模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列对象的集合,其面向对象的设计又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与解空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的封装、继承、多态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服软件危机。因此,它已成为成熟的广为采用的软件开发方法。到20世纪末,面向对象软件工程逐渐发展成熟,特别是统一建模语言(UML)标准的形成和广泛使用,使面向对象软件开发方法已成为软件开发的主流技术。;1.2 面向对象的基本概念
(1)对象:对象是客观实体的抽象表示,是由描述对象的属性数据和对这些数据进行的操作行为两部分组成。
(2)类
类是具有相同属性和行为的对象集合的抽象描述;
类的内部包括属性和行为两个主要部分。
(3)实例: 类是对具有相同属性和行为的一组对象的抽象描述。因此,类可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的实际例子,通常称为实例。;(4)消息
消息就是请求某个对象执行它所包含的某项处理操作的指令信息。实质是对某个类对象的操作函数的调用,即方法的调用 。
例如, student S1;
S1.display()是一个消息。
一个消息一般由三部分组成:接收消息的对象名、操作函数名、函数的参数。;(5)面向对象技术的三个基本特征
封装性
继承性
多态性
(6) 封装性
所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。;(7)继承性
如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。前一个类称为父类,新产生的类叫做子类。通过继承关系可形成一种类层次结构,叫做继承结构。
(10) 多态性
定义:在不同类中,可用相同的函数名实现功能不
同的函数。
多态性的优点:高层代码(算法)只需写一次,低
层便可多次复用,可提高程序设计的灵活性和效率。;习题
1. 试述面向对象技术的发展动因和优点 。
2. 面向对象设计技术具有哪些特性(或机制)?
3. 解释下列术语的含义:类 对象
消息 方法
继承性 多态性 封装性
泛化 特化
抽象 分类
;第二部分 面向对象程序设计;1、面向对象技术的三大机制(特征):
(1)封装机制和类的设计
所谓封装就是允许将对象的属性数据和操作方法结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。
在c++中,类是支持数据封装的工具,即允许设计类来抽
显示全部