些大学出版社 TSINGHUA UNIVERSITY PRESS 从本质上说,用计算机解决客观世界的问题, 是借助于某种程序设计语言的规定,对计算机中的 实体施加某种处理,并用处理结果去映射解。我们 把计算机中的实体称为解空间对象。显然,解空间 对象取决于所使用的程序设计语言。例如,汇编语 言提供的对象是存储单元;面向过程的高级语言提 供的对象,是各种预定义类型的变量、数组、记录 和文件等等。一旦提供了某种解空间对象,就隐含 规定了允许对该类对象施加的操作
从本质上说,用计算机解决客观世界的问题, 是借助于某种程序设计语言的规定,对计算机中的 实体施加某种处理,并用处理结果去映射解。我们 把计算机中的实体称为解空间对象。显然,解空间 对象取决于所使用的程序设计语言。例如,汇编语 言提供的对象是存储单元;面向过程的高级语言提 供的对象,是各种预定义类型的变量、数组、记录 和文件等等。一旦提供了某种解空间对象,就隐含 规定了允许对该类对象施加的操作
些大学出版社 TSINGHUA UNIVERSITY PRESS 从动态观点看,对对象施加的操作就是该对象 的行为。在问题空间中,对象的行为是极其丰富多 彩的,然而解空间中的对象的行为却是非常简单呆 板的。因此,只有借助于十分复杂的算法,才能操 纵解空间对象从而得到解。这就是人们常说的“语 义断层”,也是长期以来程序设计始终是一门学问 的原因。 通常,客观世界中的实体既具有静态的属性又 具有动态的行为。然而传统语言提供的解空间对象 实质上却仅是描述实体属性的数据,必须在程序中 从外部对它施加操作,才能模拟它的行为
从动态观点看,对对象施加的操作就是该对象 的行为。在问题空间中,对象的行为是极其丰富多 彩的,然而解空间中的对象的行为却是非常简单呆 板的。因此,只有借助于十分复杂的算法,才能操 纵解空间对象从而得到解。这就是人们常说的“语 义断层” ,也是长期以来程序设计始终是一门学问 的原因。 通常,客观世界中的实体既具有静态的属性又 具有动态的行为。然而传统语言提供的解空间对象 实质上却仅是描述实体属性的数据,必须在程序中 从外部对它施加操作,才能模拟它的行为
些大学出版社 TSINGHUA UNIVERSITY PRESS 众所周知,软件系统本质上是信息处理系统。 数据和处理原本是密切相关的,把数据和处理人为 地分离成两个独立的部分,会增加软件开发的难度。 与传统方法相反,面向对象方法是一种以数据或信 息为主线,把数据和处理相结合的方法。面向对象 方法把对象作为由数据及可以施加在这些数据上的 操作所构成的统一体。对象与传统的数据有本质区 别,它不是被动地等待外界对它施加操作,相反, 它是进行处理的主体。必须发消息请求对象主动地 执行它的某些操作,处理它的私有数据,而不能从 外界直接对它的私有数据进行操作
众所周知,软件系统本质上是信息处理系统。 数据和处理原本是密切相关的,把数据和处理人为 地分离成两个独立的部分,会增加软件开发的难度。 与传统方法相反,面向对象方法是一种以数据或信 息为主线,把数据和处理相结合的方法。面向对象 方法把对象作为由数据及可以施加在这些数据上的 操作所构成的统一体。对象与传统的数据有本质区 别,它不是被动地等待外界对它施加操作,相反, 它是进行处理的主体。必须发消息请求对象主动地 执行它的某些操作,处理它的私有数据,而不能从 外界直接对它的私有数据进行操作
些大学出版社 TSINGHUA UNIVERSITY PRESS 面向对象方法学所提供的“对象”概念,是让 软件开发者自己定义或选取解空间对象,然后把软 件系统作为一系列离散的解空间对象的集合。应该 使这些解空间对象与问题空间对象尽可能一致。这 些解空间对象彼此间通过发送消息而相互作用,从 而得出问题的解。也就是说,面向对象方法是一种 新的思维方法,它是把程序看作是相互协作而又彼 此独立的对象的集合。每个对象就像一个微型程序, 有自己的数据、操作、功能和目的。这样做就向着 减少语义断层的方向迈了一大步,在许多系统中解 空间对象都可以直接模拟问题空间的对象,解空间 与问题空间的结构十分一致,因此,这样的程序易 于理解和维护
面向对象方法学所提供的“对象”概念,是让 软件开发者自己定义或选取解空间对象,然后把软 件系统作为一系列离散的解空间对象的集合。应该 使这些解空间对象与问题空间对象尽可能一致。这 些解空间对象彼此间通过发送消息而相互作用,从 而得出问题的解。也就是说,面向对象方法是一种 新的思维方法,它是把程序看作是相互协作而又彼 此独立的对象的集合。每个对象就像一个微型程序, 有自己的数据、操作、功能和目的。这样做就向着 减少语义断层的方向迈了一大步,在许多系统中解 空间对象都可以直接模拟问题空间的对象,解空间 与问题空间的结构十分一致,因此,这样的程序易 于理解和维护
些大学出版社 TSINGHUA UNIVERSITY PRESS 概括地说,面向对象方法具有下述4个要点: (1)认为客观世界是由各种对象组成的,任何事物 都是对象,复杂的对象可以由比较简单的对象以某 种方式组合而成。按照这种观点,可以认为整个世 界就是一个最复杂的对象。因此,面向对象的软件 系统是由对象组成的,软件中的任何元素都是对象, 复杂的软件对象由比较简单的对象组合而成。 由此可见,面向对象方法用对象分解取代了传 统方法的功能分解
概括地说,面向对象方法具有下述4个要点: (1) 认为客观世界是由各种对象组成的,任何事物 都是对象,复杂的对象可以由比较简单的对象以某 种方式组合而成。按照这种观点,可以认为整个世 界就是一个最复杂的对象。因此,面向对象的软件 系统是由对象组成的,软件中的任何元素都是对象, 复杂的软件对象由比较简单的对象组合而成。 由此可见,面向对象方法用对象分解取代了传 统方法的功能分解