第9章-面向对象方法学引论

第9章-面向对象方法学引论

ID:25044784

大小:1.15 MB

页数:93页

时间:2018-11-16

第9章-面向对象方法学引论_第1页
第9章-面向对象方法学引论_第2页
第9章-面向对象方法学引论_第3页
第9章-面向对象方法学引论_第4页
第9章-面向对象方法学引论_第5页
资源描述:

《第9章-面向对象方法学引论》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第9章面向对象方法学引论9.1面向对象方法学概述9.2面向对象的概念9.3面向对象建模9.4对象模型9.5动态模型9.6功能模型9.73种模型之间的关系9.8小结9.1面向对象方法学概述在20世纪60年代后期出现的面向对象编程语言。自20世纪80年代中期起,逐步形成了面向对象方法学。20世纪90年代,面向对象方法学已经成为人们在开发软件时首选的范型。面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式。客观世界的问题都是由客观世界中的实体及实体相互间的关系构成的。客观世界中的实体抽象为问题域的对象(object)。对象是不固定的。一个雇员可以作为一个对象,一家公司

2、也可以作为一个对象9.1.1面向对象方法学的要点9.1.1面向对象方法学的要点面向对象方法具有下述4个要点:(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂事物是由多个简单事物复合而成。(2)把所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。数据用于表示其静态属性,是其状态信息。方法是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。9.1.1面向对象方法学的要点(3)按照子类(派生类)与父类(基类)的关系,把若干个对象类组成一个层次结构的系统(类等级)。下层的派生类具有和上层的基类相同的特性,即继承(inhe

3、ritance)。但是,如果在派生类中对某些特性又做了重新描述,则在派生类中的这些特性将以新描述为准,低层的特性将屏蔽高层的同名特性(如C++中的纯虚函数)。9.1.1面向对象方法学的要点(4)对象彼此之间仅能通过传递消息互相联系。对象必须发消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。对象就像一个不透明的黑盒子,在外界是看不见的,更不能直接使用,这就是“封装性”。9.1.1面向对象方法学的要点面向对象的方法学用下列方程来概括:OO=objects+classes+inheritance+communicationwithmessage

4、s面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。9.1.1面向对象方法学的要点仅使用对象和消息,则这种方法称为基于对象的(object-based)方法,而不是面向对象方法;进一步要求把所有对象都划分为类,则这种方法可称为基于类的(class-based)方法,但仍然不是面向对象的方法。只有同时使用对象、类、继承和消息的方法,才是真正面向对象的方法。9.1.2面向对象方法学的优点1.与人类习惯的思维方法一致传统的面向过程的设计方法以算法为核心,把数据和过程作为相互独立的部分。2.稳定性好传统的软件系统的结构紧密依赖于系统所要完成的功能,

5、当功能需求发生变化时将引起软件结构的整体修改。事实上,用户需求变化大部分是针对功能的,因此,这样的软件系统是不稳定的。9.1.2面向对象方法学的优点3.可重用性好用已有的零部件装配新的产品,是典型的重用技术。有两种方法可以重复使用一个对象类:一种方法是创建该类的实例,从而直接使用它;另一种方法是从它派生出一个满足当前需要的新类。继承性机制使得子类不仅可以重用其父类的信息,而且可以在父类代码的基础上方便地修改和扩充。9.1.2面向对象方法学的优点4.较易开发大型软件产品用面向对象方法学开发软件时,构成软件系统的每个对象就像一个微型程序,有自己的数据、操作、功能和用途。一个大型软

6、件产品可分解成一系列本质上相互独立的小产品来处理,这就不仅降低了开发的技术难度,而且也使得对开发工作的管理变得容易多了。9.1.2面向对象方法学的优点5.可维护性好(1)面向对象的软件稳定性比较好当对软件的功能或性能的要求发生变化时,通常不会引起软件的整体变化,往往只需对局部作一些修改。(2)面向对象的软件比较容易修改类是理想的模块机制,它独立性好,修改一个类通常很少会牵扯到其他类。举个例子继承和多态9.1.2面向对象方法学的优点(3)面向对象的软件比较容易理解维护软件的时候,首先需要深入理解软件。面向对象的软件技术符合人们习惯的思维方式。类的引用9.1.2面向对象方法学的优

7、点(4)易于测试和调试如果测试过程中发现了错误,还必须通过调试改正过来。对面向对象的软件进行维护,主要通过从已有类派生出一些新类来实现。对类的测试通常比较容易实现,如果发现错误也往往集中在类的内部,比较容易调试。9.1.3喷泉模型迭代是软件开发过程中普遍存在的一种内在属性。经验表明,软件过程各个阶段之间的迭代或一个阶段内各个工作步骤之间的迭代。右图是面向对象软件设计中常用的“喷泉模型”9.2面向对象的概念9.2.1对象应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。