第7章 面向对象技术总论.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 面向对象技术总论

7.1 概述—面向对象方法论   面向对象技术的内容包括面向对象系统分析技术、系统设计技术、程序设计技术、测试技术以及各种基于面向对象技术的体系结构、框架、组件、中间件等。   面向对象技术的基础是面向对象程序设计,后者是程序结构化发展的必然产物。众所周知,高级程序设计语言经历了非结构化、结构化、面向对象三个发展阶段,这三个阶段的进化都是针对程序的结构和系统分析方法而做出的。程序的结构是指程序代码之间的关系。每到一个新的阶段,程序的结构就更加完善、更加复杂,代码也更容易重用,抽象程度也更高。   软件系统分析方法研究将问题域(现实世界)向求解域(程序域)转换和映射的方法,其目的是把问题域(现实世界)中的概念或者处理过程转换或映射成程序的元素和算法。问题域(现实世界)相对来说是不变的或者变化较缓慢的,但系统分析方法却根据程序设计方法的不同而改变,因此系统分析方法依赖于程序设计技术,依赖于程序设计元素,参见图7.1。结构化分析方法和面向对象分析方法则又分别依赖于结构化程序设计语言和面向对象程序设计语言。 图7.1 系统分析方法对程序设计技术的依赖性   非结构化分析方法就是要把问题域或现实世界中的概念和处理,如员工工资、计算工资等转换成变量定义和对变量进行处理的语句,其基本元素是变量和语句,即所谓的数据结构+算法。由于当时程序规模普遍比较小,运行和应用环境也比较单一,因此不太考虑程序结构或者软件结构问题。整体来说,非结构化技术是重视算法轻视结构的一种方法。   结构化技术的基本元素是定义良好的程序结构元素,如子程序(函数)结构和单入口/单出口的控制结构。前者是程序的静态结构,后者则是程序的动态结构。子程序结构构成了整个程序的静态结构,是动态控制结构的基础(严格地说,每个语句都可以看成是对函数的调用)。结构化分析方法就是要把问题域(现实世界)中的问题(概念、处理)转换成程序中的数据结构和子程序(函数)。在这类方法中,可以认为:程序=数据结构+函数结构+函数调用。相应的数据流分析方法则将现实世界或者问题域中的业务处理转换为程序的函数结构,这个过程称为分析过程,将系统的结构变成更适合于程序域的形式,比如说具有重用、高效、稳定等特征的结构,则是设计过程。   到了面向对象技术阶段,程序的基本元素是数据结构和函数结构的统一体“类”。类是程序中的静态元素,而动态元素是对象和消息。面向对象方法认为:程序=类结构+对象+消息。面向对象分析的任务则是把现实世界中的概念或者处理都转换为程序域中的类和方法,将现实世界中的过程转换为对象之间的交互过程。面向对象设计使这种类和对象交互更加适合于计算机系统实现,更加合理和高效,更加容易重用。例如将员工、工资都转换成求解域中的类,计算某位员工工资的过程称为向该员工对象发消息。   如上所述,新一代的程序设计语言技术并不是简单地否定上一代语言,而是在上一代语言的基础上增加新的程序结构元素(函数、类),从而实现更复杂的程序结构。这种新的程序元素更直观、更真实、更自然、更完整地抽象了现实世界中的数据和处理(或者事物与概念),更好地抽象了程序中的变量和代码,也进一步增强了程序的易读性、安全性、稳定性和重用性,同时改变了系统的分析和设计方法。归根结底,程序设计语言的发展就是程序结构以及建立在其基础上的分析、设计方法的发展。   上面的例子表明,实现同样的功能可以采用不同的程序元素、程序结构或者程序设计技术。高级的程序设计方法更擅长解决复杂的问题,因为其程序元素和程序结构更为复杂。这实际上是自然界和社会系统的一个普遍规律,即内部结构决定外部功能。如果把系统解决的问题比做该系统实现的外部功能,而把实现这些功能的程序元素及其关系看做是内部结构,越复杂的内部结构就预示着系统的功能越复杂、越强大,比如说,人的大脑结构要比动物的大脑结构复杂得多,因此其功能也要强大得多。   面向对象的程序结构要比面向过程的程序结构更复杂,因此可以实现的功能也就更加强大。程序设计语言技术的发展历史充分证明了客观和主观系统进化中,功能和结构之间关系的一般规律。图7.2表现了系统外部功能和内部结构之间的关系,其内部结构也是分层次的,这也符合了人认识世界的一般规律:由外向内、由表及里。 图7.2 软件系统外部功能和内部结构之间的关系 图7.3 软件系统外部功能和内部结构关系的例子 7.2 面向对象技术的基本概念 7.2.1 类   对象是指现实世界或者概念世界中的任何事物,类是具有相同结构特征的对象的结构抽象。此结构特征包括对象的属性特征和操作接口特征。属性特征定义了所有对象都具有的属性名称及类型;操作接口特征则定义了所有对象都具有的操作和方法。   面向对象程序语言中的类是一个代码的预定义模块或者程序结构元

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档