软件工.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工

第九章 面向对象方法学引论 * * 9.1 面向对象方法学概述 9.1.1 面向对象方法学的要点 认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象由比较简单的对象以某种方式组合而成。 面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的软件对象组成。 面向对象方法用对象分解取代了传统方法的功能分解。 把所有对象都划分成各种对象类(类),每个类都定义了一组数据和一组方法。数据用于表示对象的静态属性,是对象的状态信息。类中定义的方法,是允许施加于该类对象上的操作,用于实现对象的动态行为。 按照子类(派生类)与父类(基类)的关系,把若干个类组成一个层次结构的系统(类等级)。在类等级中,下层的派生类自动具有上层基类的特性(包括数据和方法),此为继承。 对象彼此之间仅能通过传递消息互相联系。对象与传统的数据的本质区别,不是被动地等待外界对它施加操作,而是进行处理的主体,必须发送消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。即一切局部于该对象的私有信息,都被封装在该对象内,好象装在一个不透明的黑盒中,在外界是看不见的,更不能直接使用,此为封装性。 面向对象方法学的定义: 面向对象方法学(OO)=对象(objects)+类(classes)+继承(inheritance)+通信(communication with messages) 如果一个软件系统是使用这样4个概念设计和实现的,则将该软件系统称为是面向对象的。 9.1.2 面向对象方法学的优点 与人类习惯的思维方法一致 面向对象的软件技术以对象为核心,用此技术开发出的软件系统由对象组成。对象之间通过传递消息互相联系,模拟现实世界中不同事物间的联系。 面向对象方法的基本原理:使用现实世界的概念抽象地思考问题从而自然地解决问题。 面向对象的软件系统中广泛使用的对象,是对客观世界中实体的抽象。对象实际上是抽象数据类型的实例,提供了比较理想的数据抽象机制及良好的过程抽象机制。 类是一组相似对象的抽象,类等级中上层的类是对下层类的抽象。 面向对象的软件技术为开发者提供了随着对应用系统的认识逐步深入和具体化的过程,而逐步设计和实现该系统的机制。这样的开发过程符合人类认识客观世界解决复杂问题时逐步深化的渐进过程。 面向对象软件稳定性好 面向对象的软件系统的结构是根据问题领域的模型建立起来的,而不是基于对系统应该完成的功能的分解,因此当系统的功能需求变化时并不会引起软件结构的整体变化,通常仅需做一些局部性的修改。 由于现实世界中的实体是相对稳定的,因此以对象为中心构造起来的软件系统也比较稳定。 面向对象软件可重用性好 对象具有很强的自含性和独立性,所以是比较理想的程序模块和可重用的软件成分。 面向对象的软件技术在利用可重用的软件成分构造新的软件系统时,重复使用一个对象类的方法: 1.创建该类的实例,从而直接使用它; 2.从它派生出一个满足当前需要的新类。 较易开发大型软件产品 用面向对象的范型开发软件时,可以把一个大型产品看作是一系列本质上相互独立的小产品来处理,不仅降低了开发的技术难度,而且也使得对开发工作的管理变得容易得多。 可维护性好 1.面向对象的软件稳定性比较好。 2.面向对象的软件比较容易修改。 类的独立性和自含性使得修改一个类很少涉及到其他类。继承机制使得软件的修改和扩充变得容易。 3.面向对象的软件比较容易理解 符合人们习惯的思维方式,与问题空间的结构基本一致。 4.易于测试和维护 为什么? 9.1.3 面向对象方法学的软件过程 不论采用什么方法开发软件,都必须完成一些性质各异的工作:确定做什么,怎样做,实现和完善。使用不同方法学开发软件完成这些工作要素的顺序、工作要素的名称和相对重要性有可能不同,但却不能遗漏任何一个工作要素。 面向对象方法学开发软件时,工作重点在生命周期中的分析阶段。 迭代是软件开发过程中普遍存在的一种内在属性。迭代在面向对象范型中比在结构化范型中更常见,也更容易实现。 “喷泉模型”中的喷泉更形象地表明了面向对象软件开发过程迭代和无缝的特性。 9.2 面向对象的概念 9.2.1 对象 在应用领域中有意义的、与所要解决的问题密切相关的任何事物都可以作为对象,它既可以是对具体的物理实体的抽象

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档