8面向对象方法学解说.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象方法学引论 2011-4-20 面向对象思想最初起源于20世纪60年代末的simula67语言。面向对象方法的基本要点首次在simula语言中得到了表达和实现。 80年代,位于美国加州的Xerox研究中心推出smalltalk语言及其程序设计环境,使得面向对象程序设计方法得到比较完善的实现,掀起了面向对象研究的高潮。 80年代中后期,面向对象的软件设计和程序设计方法已发展成为一种成熟有效的软件开发方法。相比而言,面向对象的分析技术发展得比较滞后。 第一节 概述 1.1 传统方法学 传统方法学存在的问题 生产率提高的幅度远远不能满足需要 软件重用程度很低 软件仍然很难维护 软件往往不能真正满足用户需要 出现问题的原因 僵化的瀑布模型 *某些类型的系统需求是模糊的 *项目参与者之间存在通信鸿沟 *预先定义的需求可能是过时的 结构化技术的缺点 *用这种技术开发出的软件,其稳定性、可修改性和可重用性都比较差。 *结构化分析、设计技术的本质是功能分析。从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,层层分解下去,直至仅剩下若干个容易实现的子处理为止。 功能与数据分离的软件设计结构与人类的现实世界环境很不一样,和人的自然思维也就很不一致,因此对现实世界的认识与编程之间存在着一道很深的理解上的鸿沟。 系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要常常修改时,修改极为困难。 在系统中模块之间的控制作用有重要影响时,也就是说,实际的控制发生的根源来自分散的各个模块之中时,由于在“好的模块结构”中的模块间的控制作用只能通过上下之间的调用关系来进行,造成信息传递路径过长,效率低,易受干扰,甚至出错。 自顶向下功能分解的分析方法极大地限制了软件的可重用性。 1.2 面向对象方法学 “面向对象”(Object-Oriented)是针对“面向过程”一词提出的,是从本质上区别于传统的结构化方法的一种新方法,新思路。 OO技术的基本原理是:按照问题域的基本事物实现自然分割,按人们通常的思维方式建立问题域的模型,设计尽可能直接自然表现问题求解的软件系统。 为此,OO技术引入了对象(object)概念来表现事物,用消息(message)传递建立事物间的联系。用类(class)和继承(inheritance)作为适应人们一般思维方式的描述模型。用方法(method)表示作用在对象上的各种操作。 建立在对象、消息、类、继承和方法等概念基础上的面向对象软件的基本特征是对象的封装性和继承性。 通过封装可以将对象的定义与对象的实现分开。这样,无论是对象功能的完善扩充,还是对象实现的修改,影响仅限于该对象内部,保证了面向对象软件的可构造性和易维护性。 通过继承可以表达类与类之间的联系,大大减少了重复定义,同时也使系统的结构更加清晰、易于理解和维护。 早在1982年,Rentsch就曾预言 80年代的面向对象程序设计就象70年代的结构化程序设计一样,每个人都喜欢用它,每个软件开发商都开发他们的软件支持它,每个管理员都要付出代价应用它,每个程序员都要以不同的方式实践它,但是没有人能清楚地讲清楚它。 第二节 基本概念 面向对象=对象+类+继承+通信 如果一个软件系统是使用这样四个概念设计和实现的,则可以认为这个软件系统是面向对象的。 2.1 对象(object) 一般说来,在系统分析和系统构造中,对象是对客观世界事物的一种抽象,是由数据(属性)及在其上的操作(行为)所组成的封装体。 可以用一个公式表示为: 对象=属性+操作 对象具有如下主要特点: *自治性 对于给定的输入,经过状态转换,对象能产生输出。 *封闭性 对象的封闭性是指对象具有信息隐蔽的能力。 *通信性 对象能够接收其它对象发来的消息,也能向其它对象发送消息。通信性反映了不同对象间的联系。 上述特点分别刻画了对象不同方面的性质,自治性反映了对象独立计算的能力,封闭性和通信性说明对象是一个既封闭又开放的相对独立体。 2.2 类(class) 类是一组具有相同数据结构和相同操作的对象的集合。 类的定义包括一组数据属性和在数据上的一组合法操作,可以用一个公式表示为: 类=(组)数据属性+(组)数据操作 2.3 属性(attribute) 每一对象的属性是一些有着确定值的,用于描述对象状态信息的数据。 属性一般只能通过执行对象的操作来改变。 2.4 消息(message) 消息就是用来请求对象执行某个处理或回答某些信息的要求,是连接对象的纽带。或者说,一个对象为实现其责任而与其它对象的通信称为消息。 消息通常由三个部分组成:接收消息的对象;消息选择符(也称为消息名);零个或多个变元

文档评论(0)

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

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

1亿VIP精品文档

相关文档