些大学出版社 TSINGHUA UNIVERSITY PRESS 把数据和代码作为分离的实体,反映了计算机 的观点,因为在计算机内部数据和程序是分开存放 的。但是,这样做的时候总存在使用错误的数据调 用正确的程序模块,或使用正确的数据调用错误的 程序模块的危险。使数据和操作保持一致,是程序 员的一个沉重负担,在多人分工合作开发一个大型 软件系统的过程中,如果负责设计数据结构的人中 途改变了某个数据的结构而又没有及时通知所有人 员,则会发生许多不该发生的错误
把数据和代码作为分离的实体,反映了计算机 的观点,因为在计算机内部数据和程序是分开存放 的。但是,这样做的时候总存在使用错误的数据调 用正确的程序模块,或使用正确的数据调用错误的 程序模块的危险。使数据和操作保持一致,是程序 员的一个沉重负担,在多人分工合作开发一个大型 软件系统的过程中,如果负责设计数据结构的人中 途改变了某个数据的结构而又没有及时通知所有人 员,则会发生许多不该发生的错误
些大学出版社 TSINGHUA UNIVERSITY PRESS 传统的程序设计技术忽略了数据和操作之间的 内在联系,用这种方法所设计出来的软件系统其解 空间与问题空间并不一致,令人感到难于理解。实 际上,用计算机解决的问题都是现实世界中的问题, 这些问题无非由一些相互间存在一定联系的事物所 组成。每个具体的事物都具有行为和属性两方面的 特征。因此,把描述事物静态属性的数据结构和表 示事物动态行为的操作放在一起构成一个整体,才 能完整、自然地表示客观世界中的实体
传统的程序设计技术忽略了数据和操作之间的 内在联系,用这种方法所设计出来的软件系统其解 空间与问题空间并不一致,令人感到难于理解。实 际上,用计算机解决的问题都是现实世界中的问题, 这些问题无非由一些相互间存在一定联系的事物所 组成。每个具体的事物都具有行为和属性两方面的 特征。因此,把描述事物静态属性的数据结构和表 示事物动态行为的操作放在一起构成一个整体,才 能完整、自然地表示客观世界中的实体
些大学出版社 TSINGHUA UNIVERSITY PRESS 面向对象的软件技术以对象 object)为核心, 用这种技术开发出的软件系统由对象组成。对象是 对现实世界实体的正确抽象,它是由描述内部状态 表示静态属性的数据,以及可以对这些数据施加的 操作(表示对象的动态行为),封装在一起所构成的 统一体。对象之间通过传递消息互相联系,以模拟 现实世界中不同事物彼此之间的联系
面向对象的软件技术以对象(object)为核心, 用这种技术开发出的软件系统由对象组成。对象是 对现实世界实体的正确抽象,它是由描述内部状态 表示静态属性的数据,以及可以对这些数据施加的 操作(表示对象的动态行为),封装在一起所构成的 统一体。对象之间通过传递消息互相联系,以模拟 现实世界中不同事物彼此之间的联系
些大学出版社 TSINGHUA UNIVERSITY PRESS 面向对象的设计方法与传统的面向过程的方法 有本质不同,这种方法的基本原理是,使用现实世 界的概念抽象地思考问题从而自然地解决问题。它 强调模拟现实世界中的概念而不强调算法,它鼓励 开发者在软件开发的绝大部分过程中都用应用领域 的概念去思考。在面向对象的设计方法中,计算机 的观点是不重要的,现实世界的模型才是最重要的。 面向对象的软件开发过程从始至终都围绕着建立问 题领域的对象模型来进行:对问题领域进行自然的 分解,确定需要使用的对象和类,建立适当的类等 级,在对象之间传递消息实现必要的联系,从而按 照人们习惯的思维方式建立起问题领域的模型,模 拟客观世界
面向对象的设计方法与传统的面向过程的方法 有本质不同,这种方法的基本原理是,使用现实世 界的概念抽象地思考问题从而自然地解决问题。它 强调模拟现实世界中的概念而不强调算法,它鼓励 开发者在软件开发的绝大部分过程中都用应用领域 的概念去思考。在面向对象的设计方法中,计算机 的观点是不重要的,现实世界的模型才是最重要的。 面向对象的软件开发过程从始至终都围绕着建立问 题领域的对象模型来进行:对问题领域进行自然的 分解,确定需要使用的对象和类,建立适当的类等 级,在对象之间传递消息实现必要的联系,从而按 照人们习惯的思维方式建立起问题领域的模型,模 拟客观世界
些大学出版社 TSINGHUA UNIVERSITY PRESS 传统的软件开发方法可以用“瀑布”模型来描 述,这种方法强调自顶向下按部就班地完成软件开 发工作。事实上,人们认识客观世界解决现实问题 的过程,是一个渐进的过程,人的认识需要在继承 以前的有关知识的基础上,经过多次反复才能逐步 深化。在人的认识深化过程中,既包括了从一般到 特殊的演绎思维过程,也包括了从特殊到一般的归 纳思维过程。人在认识和解决复杂问题时使用的最 强有力的思维工具是抽象,也就是在处理复杂对象 时,为了达到某个分析目的集中研究对象的与此目 的有关的实质,忽略该对象的那些与此目的无关的 部分
传统的软件开发方法可以用“瀑布”模型来描 述,这种方法强调自顶向下按部就班地完成软件开 发工作。事实上,人们认识客观世界解决现实问题 的过程,是一个渐进的过程,人的认识需要在继承 以前的有关知识的基础上,经过多次反复才能逐步 深化。在人的认识深化过程中,既包括了从一般到 特殊的演绎思维过程,也包括了从特殊到一般的归 纳思维过程。人在认识和解决复杂问题时使用的最 强有力的思维工具是抽象,也就是在处理复杂对象 时,为了达到某个分析目的集中研究对象的与此目 的有关的实质,忽略该对象的那些与此目的无关的 部分