2第二章对象基本概念.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象技术引论 陈 苗 第二章?? 面向对象的基本知识 主要内容: 2.1 面向对象的基本概念 泛化(generalization)关系是一种“特殊/一般”关系,也即特殊事物和一般事物之间的关系。(例) 2. 面向对象的本质* 面向对象的本质可以用一句话来概括:确定动作的主体在先,而执行动作在后,这种模式称为“主体—动作”模式。 “主体—动作”模式 的特点: 2.1.2 对象和类 主要讨论对象和类的定义、对象的种类、对象的主要性质等,侧重于概念和术语。 2.对象的定义 我们从现实世界、数据世界以及系统观点等三个不同的角度,给出对象的定义。 3.对象类 对象类是在对具有共性的一些对象的认识和抽象描述的基础上产生的一个抽象结构,简称为类。 2)类的定义 注意:抽象是分类的依据,也即分类一定要满足“一般化”这一基本要求。 注意: 5)子类 6)一般类和特殊类 应用概括的方法,我们可以从一组相关的类中进一步抽取其共性舍弃其个性,就可以从特殊到一般(自底向上),得到一个一般类(基类、抽象类、超类)。 一般类和特殊类的关系如下图所示: (1)一般类和特殊类的定义 如果类A具有类B的全部属性和服务,而且具有自己特有的某些属性和服务,则类A叫做类B的特殊类,类B叫做的类A的一般类。 两者之间的关系称为“泛化”。 4.对象的相互作用 当系统运行时,系统中的对象必定会呈现出动态特征,其表现形式为:对象自身状态的转换和对象间的相互作用。 5.支持对象相互作用的消息机制 在面向对象系统中,对象之间的相互作用是通过消息传送来进行的。 消息的接收者是提供服务的对象,在设计该对象时,它对外提供的每个服务应规定消息的格式——消息协议。 从对象获得数据只有一种方法:给对象发送一条消息。 消息决定了要发生什么,不同的接受对象利用不同的方法来解释消息。 1) 消息(Message)的定义 在面向对象语境中,消息定义为向对象发出的服务请求(要求对象执行它其中的一个操作的请求)。 提供服务的对象标识; 服务标识; 输入信息和回答信息(服务参数)。 消息应该含有以下信息: 消息通常由接收对象(提供服务的对象标识)、调用操作名(服务标识)以及必要的参数等三部分组成。 2) 消息的格式 和消息协议 一个对象能够正确响应的消息的集合称为该对象的(消息)协议。消息的名字叫做它的选择符。 2) 消息的格式 和消息协议(续) 消息的发送者是要求服务的对象或其它系统成分,在每个发送点上,发送者需要按服务方规定的消息协议写出一个完整的消息。 如果把类看作是组件,我们常把协议分成可能重叠的消息集,称为类(组件)的接口。 * * 与面向对象有关的概念、名词、术语; 面向对象的特征与要素; 2.1.1 什么叫面向对象(Object -Orient ) 《面向对象方法 原理与实践》一书关于面向对象这一术语的解释是: “ 面向对象系统是基于对象的、基于类的,支持类和超类间的继承,并且允许对象发送消息给它们自己。” 应该说,上面的解释具有片面性,下面我们从面向对象的含义、本质等方面来探讨这一问题。 1. 面向对象的基本含义 把软件系统看成是一系列离散对象的集合,并强调刻画对象性质的数据及行为的紧密联系,也即应用封装技术来实现这种联系。 在强调实体(事物)封装性的同时,也应充分考虑存在于同一系统中的各个实体之间的有机联系,也即实体关系。 UML提出四种关系——依赖、关联、泛化、实现。 依赖(dependency)关系是两个事物间的语义关系,其中一个事物(规格说明)发生变化会影响另一事物。(例,订单和产品之间的关系) 关联(association)是一种结构关系,更多地涉及到事物之间的相互联系、相互作用和引用,具有动态特征。 (例) 实现(realization)是类元之间的语义关系。 例:学籍管理系统是由学生、教师、教辅人员、课程、各 种规章制度等多个彼此独立而又相互关联的对象集合而成; 学生是一个抽象实体,它可以具体化为:本科生、专科生、 研究生等等,教师、教辅人员则可以抽象为一个更具一般 化的实体——“教职工”,这些都是泛化关系。学生、教师、 课程等实体之间则存在着各种关联,例如学生选择课程, 老师讲授课程等等。 例如:数据是对象的主体,因此分析一个实体总是先分析 其数据性质,也即实体的属性,然后才去考虑对数据施加 哪些操作。

文档评论(0)

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

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

1亿VIP精品文档

相关文档