723面向对象的基本概念 1.对象〔Obet) 对象是客观世界中事物在计算机领域中的抽象,是一组数据(描述对 象的特性或属性)和施加于该组数据上的一组操作(行为)组成的集合体 例如, Windows系统中窗口上的一个文本框对象包含有外部名 (Name)、字体(Font)、数据源( Data Source)、前景颜色(Fore Color)、高度和宽度( Height Width)等多种属性,同时还带有单击左键 ( Click)、双击左键( Double click)、修改文本( Change)等多个操作 对象的属性可以是简单数据类型、结构数据类型,也可以是复杂数据类 型(另一个对象)。例如,公司是对象,公司中包含有员工这一属性,而 员工本身又是一个对象
7.2.3 面向对象的基本概念 1. 对象(Object) 对象是客观世界中事物在计算机领域中的抽象,是一组数据(描述对 象的特性或属性)和施加于该组数据上的一组操作(行为)组成的集合体。 例如,Windows系统中窗口上的一个文本框对象包含有外部名 (Name)、字体(Font)、数据源(Data Source)、前景颜色(Fore Color)、高度和宽度(Height Width)等多种属性,同时还带有单击左键 (Click)、双击左键(DoubleClick)、修改文本(Change)等多个操作。 对象的属性可以是简单数据类型、结构数据类型,也可以是复杂数据类 型(另一个对象)。例如,公司是对象,公司中包含有员工这一属性,而 员工本身又是一个对象
从系统的观点出发,可以给对象作如下定义:对象是系统中用来描 述客观事物的一个实体,它是构成系统的一个基本单位,一个对象是由 一组属性和对这组属性进行操作的一组服务构成的。属性是用来描述对 象静态特征的一个数据项,也叫对象特性;服务是用来描述对象动态特 征(行为)的一个操作;属性和操作称为对象的性质 当系统运行时,系统中的对象显现出其动态特征,即对象内部状态 的转换和对象间的相互作用。例如,A对象向B对象传送一个消息,这 消息附带的一个事件可能导致B对象被激发或B对象由于执行某一传送 方所要求的操作,改变了某些内部属性值,从而由一个状态转入另一个 状态(对象的一个状态是由某些内部属性值构成的)
从系统的观点出发,可以给对象作如下定义:对象是系统中用来描 述客观事物的一个实体,它是构成系统的一个基本单位,一个对象是由 一组属性和对这组属性进行操作的一组服务构成的。属性是用来描述对 象静态特征的一个数据项,也叫对象特性;服务是用来描述对象动态特 征(行为)的一个操作;属性和操作称为对象的性质。 当系统运行时,系统中的对象显现出其动态特征,即对象内部状态 的转换和对象间的相互作用。例如,A对象向B对象传送一个消息,这 一消息附带的一个事件可能导致B对象被激发或B对象由于执行某一传送 方所要求的操作,改变了某些内部属性值,从而由一个状态转入另一个 状态(对象的一个状态是由某些内部属性值构成的)
在面向对象系统中,对象之间的相互作用是通过消息传送来进行的。 消息是向对象发出的服务请求,它应该含有下述信息:提供服务的对象标 服务标识、输入信息和回答信息。消息通常由接收对象(提供服务的 对象标识)、调用操作名(服务标识)以及必要的参数等三部分组成。 消息的接收者是提供服务的对象,在设计该对象时,它对外提供的每个 服务应规定消息的格式——消息协议。消息的发送者是要求服务的对象或 其它系统成分,在每个发送点上,需要按服务方规定的消息协议写出一个 完整的消息 当一个对象映射为软件实现时由三个部分组成 (1)私有的数据结构。它用于描述对象的内部状态。 (2)处理,称为操作或方法。它是施加于数据结构之上的 (3)接口。这是对象可被共享的部分,消息通过接口调用相应的操作 接口规定哪些操作是允许的;它不提供操作是如何实现的信息
在面向对象系统中,对象之间的相互作用是通过消息传送来进行的。 消息是向对象发出的服务请求,它应该含有下述信息:提供服务的对象标 识、服务标识、输入信息和回答信息。消息通常由接收对象(提供服务的 对象标识)、调用操作名(服务标识)以及必要的参数等三部分组成。 消息的接收者是提供服务的对象,在设计该对象时,它对外提供的每个 服务应规定消息的格式——消息协议。消息的发送者是要求服务的对象或 其它系统成分,在每个发送点上,需要按服务方规定的消息协议写出一个 完整的消息。 当一个对象映射为软件实现时由三个部分组成: (1) 私有的数据结构。它用于描述对象的内部状态。 (2) 处理,称为操作或方法。它是施加于数据结构之上的。 (3) 接口。这是对象可被共享的部分,消息通过接口调用相应的操作。 接口规定哪些操作是允许的;它不提供操作是如何实现的信息
客观世界的同一对象在不同的应用系统中,由于考察对象 的角度不同,对其抽象的数据结构和操作都可能是不同的。例 如,对于一个学生,在学籍管理系统与户籍管理系统两个不同 的应用系统中,抽象出的表示内部状态的数据结构和对数据结 构进行的操作都是不同的。因此,在对实际应用系统中的对象 进行分析时应注意该系统的要求,区分哪些是该对象的本质特 征
客观世界的同一对象在不同的应用系统中,由于考察对象 的角度不同,对其抽象的数据结构和操作都可能是不同的。例 如,对于一个学生,在学籍管理系统与户籍管理系统两个不同 的应用系统中,抽象出的表示内部状态的数据结构和对数据结 构进行的操作都是不同的。因此,在对实际应用系统中的对象 进行分析时应注意该系统的要求,区分哪些是该对象的本质特 征
2类与实例 把具有共性的一些事物归为一类,是人们认识客观世界和分析问 题的一般方法。这里的共性是指事物的本质特征,分类实际上是一种 抓住事物的本质而忽略一些无关紧要的细节的抽象过程,例如图7.2中 从各种自行车到自行车类抽象 自行车类 属性: 名称 自行车对象 规格 男车 型号 女车 抽象 变速装置 童车 材料 操作 变速 行走 修理 图72各种自行车到自行车类的抽象
2. 类与实例 把具有共性的一些事物归为一类,是人们认识客观世界和分析问 题的一般方法。这里的共性是指事物的本质特征,分类实际上是一种 抓住事物的本质而忽略一些无关紧要的细节的抽象过程,例如图7.2中 从各种自行车到自行车类抽象。 自行车对象 男 车 女 车 童 车 … … 抽 象 自行车类 属性: 名 称 规 格 型 号 变速装置 材 料 操作: 变 速 行 走 修 理 … … 图7.2 各种自行车到自行车类的抽象