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

第九章 面向对象方法学引论9.1 面向对象方法学概述9.2 面向对象的概念9.3 面向对象建模9.4 对象模型9.5 动态模型9.6 功能模型9.7 3种模型之间的关系9.1 面向对象方法学概述-- 传统的软件工程方法学应用于大型软件产品的开发时,似乎很少取得成功。-- 源于20世纪60年代后期出现的面向对象编程语言Simula-67(类和对象的概念),逐步形成了面向对象方法学 。到了20世纪90年代,面向对象方法学已经成为人们在开发软件时首选的范型。9.1 面向对象方法学概述面向对象方法学的要点9.1 面向对象方法学概述语义断层—— 不同的语言(/对象)来表达问题和解.客观世界中的实体既具有静态的属性又具有动态的行为。然而传统语言提供的解空间对象实质上却仅是描述实体属性的数据,必须在程序中从外部对它施加操作,才能模拟它的行为。9.1 面向对象方法学概述对象?(面向对象语言)在问题空间中,对象是…… 现实世界中存在的实体 应用所关心的抽象概念、规则、事件、或者具有明 确边界和意义的具体事物在解空间 (计算机系统) 中,对象是…… 问题空间中的对象在计算机系统中的表示 封装 (encapsulation) 了数据和行为的通信单位9.1 面向对象方法学概述与传统方法相反,面向对象方法是一种以数据或信息为主线,把数据和处理相结合的方法。面向对象方法把对象作为由数据及可以施加在这些数据上的操作所构成的统一体。对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体。9.1 面向对象方法学概述面向对象方法是一种新的思维方法,它是把程序看作是相互协作而又彼此独立的对象的集合。这样就减小了语义断层:系统中解空间对象可以直接模拟问题空间的对象,解空间与问题空间的结构十分一致。9.1 面向对象方法学概述面向对象方法具有下述4个要点:认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。因此,面向对象的软件系统是由对象组成的。类(class)是对一组对象的抽象,集中了该组对象的共同特性(一组数据和一组方法)。对象是类的实例。9.1 面向对象方法学概述面向对象方法具有下述4个要点(续):(3) 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。在这种结构中,下层的派生类自动具有和上层的基类相同的特性,这种现象称为继承(inheritance)。 (4) 对象彼此之间仅能通过传递消息互相联系。一切局部于该对象的私有信息,都被封装在该对象类的定义中,就好像装在一个不透明的黑盒子中一样,在外界是看不见的,更不能直接使用,这就是“封装性”。9.1 面向对象方法学概述面向对象的方法学可以用下列方程来概括:OO=objects +classes +inheritance +communication with messages面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。也可以说,只有同时使用对象、类、继承和消息的方法,才是真正面向对象的方法。9.2 面向对象的概念对象类类间关系消息与事件多态性9.2 面向对象的概念对象在解空间 (计算机系统) 中,对象的非严格记法:对象 ::= 接口,数据,行为9.2 面向对象的概念对象的基本特征每个对象均有自己的惟一标识,从而区别于其他对象。对象之间通过消息进行通信。对象总是处于一定的状态。对象有若干种行为。对象的行为分为三类:创建新对象、与其他对象通信、改变自身状态。对象的状态只能被自身的行为所改变。9.2 面向对象的概念类在问题空间中……“人以类聚,物以群分”类代表着具有类似性质的一组对象类中的每一个对象即为类的不同实例 (instance)在解空间 (计算机系统) 中……类是对一组对象的抽象,集中了该组对象的共同特性。在构造软件时,类实际上是具有特定功能的模块,其代码由该种所有对象所共享。类 vs. 对象:静 vs. 动。9.2 面向对象的概念类的两种图形记法:9.2 面向对象的概念对象状态:张三,30岁,计算机系,讲师,1000元行为:提职称,调工资类 (教师)属性:姓名,年龄,系别,职称,工资操作:提职称,调工资方法 (指操作的具体代码实现)实际上,类是创建对象的模板!9.2 面向对象的概念类间关系继承 (inheritance)聚合 (aggregation)关联 (relationship)9.2 面向对象的概念继承的含义继承是一种“求同存异”的高度抽象方式相关术语超类 (super-class) / 父类 (parent class) / 祖先类 (ancestor class)子类 (sub-class) / 后裔类 (

文档评论(0)

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

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

1亿VIP精品文档

相关文档