面向对象的概念面向对象的开发过程面向对象分析与模型化面

上传人:ldj****22 文档编号:50629491 上传时间:2018-08-09 格式:PPT 页数:250 大小:735.50KB
返回 下载 相关 举报
面向对象的概念面向对象的开发过程面向对象分析与模型化面_第1页
第1页 / 共250页
面向对象的概念面向对象的开发过程面向对象分析与模型化面_第2页
第2页 / 共250页
面向对象的概念面向对象的开发过程面向对象分析与模型化面_第3页
第3页 / 共250页
面向对象的概念面向对象的开发过程面向对象分析与模型化面_第4页
第4页 / 共250页
面向对象的概念面向对象的开发过程面向对象分析与模型化面_第5页
第5页 / 共250页
点击查看更多>>
资源描述

《面向对象的概念面向对象的开发过程面向对象分析与模型化面》由会员分享,可在线阅读,更多相关《面向对象的概念面向对象的开发过程面向对象分析与模型化面(250页珍藏版)》请在金锄头文库上搜索。

1、n n面向对象的概念面向对象的概念n n面向对象的开发过程面向对象的开发过程n n面向对象分析与模型化面向对象分析与模型化n n面向对象设计面向对象设计n n面向对象程序的实现与测试面向对象程序的实现与测试面向对象的概念面向对象的概念n n开发模式开发模式n n什么是面向对象什么是面向对象n n对象对象n n类类n n继承继承开发模式开发模式(ParadigmParadigm)n n开发模式又称为范型、范例、风范或开发模式又称为范型、范例、风范或 模式模式( (Pattern)Pattern)。开发模式定义了开发模式定义了uu特定问题和应用的开发过程中将特定问题和应用的开发过程中将 遵循的遵循

2、的步骤步骤;uu确定将用于表示问题和解的那些确定将用于表示问题和解的那些 成分的成分的类型类型;uu利用这些成分表示与问题解决有利用这些成分表示与问题解决有 关的关的抽象抽象;uu直接得到问题的直接得到问题的结构结构。n n开发模式的选择影响到整个软件开开发模式的选择影响到整个软件开 发生存期发生存期。就是说,它支配了。就是说,它支配了uu设计方法设计方法uu编码语言编码语言uu测试和检验技术测试和检验技术 的选择的选择面向过程开发模式面向过程开发模式n n面向过程开发模式产生面向过程开发模式产生过程的抽象过程的抽象。n n这些抽象的基础是这些抽象的基础是把软件视为处理流把软件视为处理流 ,并

3、,并定义成由一系列步骤构成的算法定义成由一系列步骤构成的算法 。n n每一步骤都是带有预定输入和特定输每一步骤都是带有预定输入和特定输 出的一个过程,把这些步骤串联在一出的一个过程,把这些步骤串联在一 起可起可产生合理的稳定的贯通于整个程产生合理的稳定的贯通于整个程 序的控制流序的控制流,最终产生一个简单的具,最终产生一个简单的具 有静态结构的体系结构。有静态结构的体系结构。面向过程开发模式的特点面向过程开发模式的特点n n过程性开发模式过程性开发模式侧重建立构成问题解侧重建立构成问题解 决的处理流决的处理流。n n数据抽象、数据结构数据抽象、数据结构根据算法步骤的根据算法步骤的 要求开发,它

4、贯穿于过程,提供过程要求开发,它贯穿于过程,提供过程 所要求操作的信息。所要求操作的信息。n n系统的状态是一组全局变量系统的状态是一组全局变量,这组全,这组全 局变量保存状态的值,把它们从一个局变量保存状态的值,把它们从一个 过程传送到另一个过程。过程传送到另一个过程。 Initialize system;Initialize system; Create and draw interface; Create and draw interface;while QUIT not selected do while QUIT not selected docase caseMouse event

5、: Mouse event: create shape structure; create shape structure;read mouse movements for data; read mouse movements for data;store newly created shape on list store newly created shape on list of shape records; of shape records;KeyPress KeyPress event: event:if key = q then exit loop; if key = q then

6、exit loop;else ignore; else ignore; Ecpose Ecpose event: event:refresh display by drawing each refresh display by drawing eachshape structure; shape structure; Shut down system; Shut down system;面向对象开发模式面向对象开发模式n n在面向过程开发模式中优先考虑的是在面向过程开发模式中优先考虑的是 过程抽象过程抽象,在面向对象开发模式中优,在面向对象开发模式中优 先考虑的是先考虑的是实体(问题论域的对象

7、)实体(问题论域的对象) 。n n在面向对象开发模式中,把标识和模在面向对象开发模式中,把标识和模 型化型化问题论域中的主要实体问题论域中的主要实体做为系统做为系统 开发的起点,开发的起点,主要考虑对象的行为而主要考虑对象的行为而 不是必须执行的一系列动作不是必须执行的一系列动作。面向对象开发模式的特点面向对象开发模式的特点n n面向对象系统中的面向对象系统中的对象是数据抽象与对象是数据抽象与 过程抽象的综合过程抽象的综合。n n系统的状态系统的状态保存在各个数据抽象的所保存在各个数据抽象的所 定义的数据存储中。定义的数据存储中。n n控制流控制流包含在各个数据抽象中的操作包含在各个数据抽象中

8、的操作 内。内。n n在面向对象体系结构。消息从一个对在面向对象体系结构。消息从一个对 象传送到另一个对象。象传送到另一个对象。算法算法被分布到被分布到 各种实体中。各种实体中。其它流行的开发模式其它流行的开发模式n n目前流行多种开发模式,它们提供目前流行多种开发模式,它们提供 了许多方法,可进行系统分解。了许多方法,可进行系统分解。FF 面向过程的面向过程的;FF 逻辑的逻辑的;FF 面向存取的面向存取的;FF 面向进程的面向进程的;FF 面向对象的面向对象的;FF 函数型的函数型的;FF 说明性的说明性的。n n每个开发模式都有它的支持者和用每个开发模式都有它的支持者和用 户;户;n n

9、每个开发模式都特别适合于某种类每个开发模式都特别适合于某种类 型的问题或子问题;型的问题或子问题;n n每一个开发模式都用不同的方式考每一个开发模式都用不同的方式考 虑问题;虑问题;n n每一个开发模式都使用不同的方法每一个开发模式都使用不同的方法 来分解问题;来分解问题;n n每一个开发模式都导致不同种类的每一个开发模式都导致不同种类的 块、过程、产生规则。块、过程、产生规则。混合开发模式混合开发模式n n在大型系统的开发中,很难说哪种在大型系统的开发中,很难说哪种 开发模式对整个问题的解决最好。开发模式对整个问题的解决最好。n n系统开发时,通常把系统开发时,通常把大型问题分解大型问题分解

10、 成一组子问题成一组子问题。对于每个子问题可对于每个子问题可 以采用适当的软件开发模式以采用适当的软件开发模式。n n这种设计这种设计需要有某种实现语言或一需要有某种实现语言或一 组协同语言的支持组协同语言的支持。许多流行的功。许多流行的功 能不断增强的语言可支持不只一种能不断增强的语言可支持不只一种 设计开发模式。设计开发模式。n n一个智能数据分析系统的设计,可把一个智能数据分析系统的设计,可把 它看做是它看做是 4 4 个子系统。系统有个子系统。系统有n n一个一个数据库界面数据库界面,可以,可以使用面向存取使用面向存取 的方法的方法进行设计;进行设计;n n智能数据分析智能数据分析用用

11、逻辑性的开发模式逻辑性的开发模式设设 计;计;n n一组一组分析算法分析算法是是过程性的过程性的;n n用户界面用户界面是用是用面向对象开发模式面向对象开发模式设计设计 出来的。出来的。什么是面向对象什么是面向对象n nCoadCoad和和YourdonYourdon给出了一个定义:给出了一个定义: “ “面向对象面向对象= =对象对象+ +类类+ +继承继承+ +通信通信” ”。n n如果一个软件系统是使用这样如果一个软件系统是使用这样 4 4 个个 概念设计和实现的,则我们认为这概念设计和实现的,则我们认为这 个软件系统是面向对象的。个软件系统是面向对象的。n n一个面向对象的程序的每一成

12、份应一个面向对象的程序的每一成份应 是是对象对象,计算是通过,计算是通过新的对象的建新的对象的建 立立和和对象之间的通信对象之间的通信来执行的来执行的。对象(对象(objectobject)n n对象对象是面向对象开发模式的是面向对象开发模式的基本成基本成 份份。n n每个对象可用每个对象可用它本身的一组属性它本身的一组属性和和 它可以执行的一组操作它可以执行的一组操作来定义。来定义。n n属性属性一般只能一般只能通过执行对象的操作通过执行对象的操作 来改变来改变。n n操作操作又称为方法或服务,它又称为方法或服务,它描述了描述了 对象执行的功能对象执行的功能,若通过消息传递,若通过消息传递

13、,还可以为其它对象使用。,还可以为其它对象使用。消息(消息(MessageMessage)n n消息是一个对象与另一个对象的通消息是一个对象与另一个对象的通 信单元,是要求某个对象执行类中信单元,是要求某个对象执行类中 定义的某个操作的规格说明。定义的某个操作的规格说明。发送发送 给一个对象的消息定义了一个给一个对象的消息定义了一个方法方法 名名和一个和一个参数表参数表(可能是空的),(可能是空的), 并并指定某一个指定某一个对象对象。n n一个对象接收的消息则调用消息中一个对象接收的消息则调用消息中 指定的指定的方法方法,并将,并将形式参数与参数形式参数与参数 表中相应的值结合起来表中相应的

14、值结合起来。类类( (class)class)n n类是一组具有类是一组具有相同数据结构相同数据结构和和相同相同 操作操作的对象的集合。的对象的集合。n n类的定义包括类的定义包括一组数据属性一组数据属性和和在数在数 据上的一组合法操作据上的一组合法操作。n n类定义可以视为一个具有类似特性类定义可以视为一个具有类似特性 与共同行为的对象的与共同行为的对象的模板模板,可用来,可用来 产生对象。产生对象。n n在一个类中,每个在一个类中,每个对象对象都是都是类的实类的实 例例 ( (Instance)Instance),它们都可使用类中它们都可使用类中 提供的函数。提供的函数。n n对象的状态则

15、包含在它的实例变量对象的状态则包含在它的实例变量 ,即实例的属性中。,即实例的属性中。类类 两个四边形对象两个四边形对象n nQuadrilateralQuadrilateral类的每个对象有同样的类的每个对象有同样的 一组实例变量和方法。一组实例变量和方法。n n就这个意义来讲,类就这个意义来讲,类QuadrilateralQuadrilateral给给 我们提供了一个模板,表示了所有四我们提供了一个模板,表示了所有四 边形对象。边形对象。n n类常常可看做是一个类常常可看做是一个抽象数据类型抽象数据类型 ( (ADT)ADT)的实现。但更合适的是把类看的实现。但更合适的是把类看 做是某种做

16、是某种概念的模型概念的模型。n n类的实现常常使用其它类的实例,类的实现常常使用其它类的实例, 它们提供了该类所需要的服务。它们提供了该类所需要的服务。n n这些实例应当受到保护不被其它对这些实例应当受到保护不被其它对 象存取,包括同一个类的其它实例象存取,包括同一个类的其它实例 。n n在四边形的例子中,定义在四边形的例子中,定义4 4个个pointpoint 类的实例作为类的实例作为QuadrilateralQuadrilateral类的实类的实 例的例的4 4个顶点。这些个顶点。这些pointpoint对象不能对象不能 被其它对象存取。被其它对象存取。继承继承 ( (Inheritance)Inheritance)n n继承继承是是使用已存在的定义做为基

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号