[工学]第9章 面向对象方法学引论.ppt

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

第9章 面向对象 方法学引论 传统方法学的缺点 传统的生命周期方法学的本质,是在具体的软件开发工作开始之前,通过需求分析预先定义软件需求,然后一个阶段接着一个阶段有条不紊地开发用户所要求的软件,实现预先定义的软件需求。 但它并不能完全消除软件危机。生命周期方法学仍然有许多不足之处,对某些类型的软件开发,这种方法学比较适用,对另一些类型的软件则可能完全不适用。 传统方法学存在的问题 生产率提高的幅度远不能满足需要 软件重用程度很低 软件仍然很难维护 软件往往不能真正满足用户需要 A、不能彻底的理解用户的需求 B、用户需求在不断的变化 传统方法学的缺陷 出现问题的原因 1、僵化的瀑布模型 A、某些系统的需求是模糊的 B、预先定义的需求可能是过时的 2、结构化技术本身的缺点 传统的生命周期方法学(SA-SD-SP)的基础是功能分解,而用户需求的变化恰恰体现在对软件功能要求的改变。 分解的过程带有很大的随意性。 第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.1 面向对象方法学概述 问题空间 客观世界的问题都是由客观世界中的实体及实体间的相互间的关系构成的。 把客观世界中的一个实体抽象为问题域中的对象(Object)。 对象具有状态,一般用数据值来描述对象的状态。 从动态观点看,对对象施加的操作就是该对象的行为。 通常,客观世界中的实体既具有静态的属性又具有动态的行为。 解空间 把计算机中的实体称为解空间对象。解空间对象取决于所使用的程序设计语言。 面向对象方法学概述 客观世界是由许多具体的事物或事件、抽象的概念及规则等组成的。 我们将任何感兴趣或要加以研究的事物、概念都统称为对象。 面向对象的方法正是以对象作为最基本的元素和分析问题、解决问题的核心。 由此可见,面向对象方法很自然符合人类的认识规律。计算机实现的对象与真实世界具有一对一的关系,不必作任何转换,这样就使面向对象更易于为人们所理解、接受和掌握。 9.1 面向对象方法学概述 面向对象方法学 面向对象方法学是一种以数据为主线,把数据和对数据的操作紧密结合起来的方法。 面向对象方法学是一种新的思维方法,它把程序看作是相互协作而又彼此独立的对象的集合。 9.1.1 面向对象方法学的要点 概括地说,面向对象方法具有下述4个要点: (1) 认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。 面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。 9.1.1 面向对象方法学的要点 (2) 把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。 数据用于表示对象的静态属性,是对象的状态信息。 方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。 9.1.1 面向对象方法学的要点 (3) 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。 在这种层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承(inheritance)。 低层的特性将屏蔽高层的同名特性。如果在派生类中对某些特性又做了重新描述,则在派生类中的这些特性将以新描述为准。 9.1.1 面向对象方法学的要点 (4) 对象彼此之间仅能通过传递消息互相联系。 对象是进行处理的主体,必须发消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。 一切局部于该对象的私有信息,都被封装在该对象类的定义中,就好像装在一个黑盒子中一样,在外界是看不见的,更不能直接使用,这就是“封装性”。 9.1.1 面向对象方法学的要点 面向对象的方法学可以用下列方程来概括: OO=objects+classes+inheritance+communication with messages 也就是说,面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。 9.1.2 面向对象方法学的优点 与人类习惯的思维方法一致 传统方法学 以算法为核心,把数据和过程作为相互独立的部分。 面向对象方法学 以对象(object)为核心,用这种技术开发出的软件系统由对象组成。 对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。 9.1.2 面向对象方法学的优点 稳定性好 传统方法学 以算法为核心,开发过程基于功能分析和功能分解。软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改。 面向对象方法学 以对象为中心构造软件系统。用对象模拟问题域

文档评论(0)

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

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

1亿VIP精品文档

相关文档