(1)对象的定义 对象具有两方面的含义,即在现实世界中的含义和在 计算机世界中的含义。一个对象既可以非常简单,又可 以非常复杂。复杂的对象往往可由若干简单对象组合而 成。 “对象”的特性: ①有一个名字以区别于其他对象; ②有一个状态用来描述它的某些特征; ③有一组操作,每个操作决定对象的一种功能或行为 ④对象的操作可分为两类:一类是自身所承受的操作,一类是 施加于其他对象的操作 由此,对象可以看做其自身所具有的状态特征及可以对 这些状态施加的操作结合在一起所构成的独立实体 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 6 (1)对象的定义 对象具有两方面的含义,即在现实世界中的含义和在 计算机世界中的含义。一个对象既可以非常简单,又可 以非常复杂。复杂的对象往往可由若干简单对象组合而 成。 “对象”的特性: ①有一个名字以区别于其他对象; ②有一个状态用来描述它的某些特征; ③有一组操作,每个操作决定对象的一种功能或行为; ④对象的操作可分为两类:一类是自身所承受的操作,一类是 施加于其他对象的操作。 由此,对象可以看做其自身所具有的状态特征及可以对 这些状态施加的操作结合在一起所构成的独立实体
2)对象的状态 一个对象之所以能在现实世界中独立 存在,是因为它具有自身的状态,即自身 所具有的那些特征。由于这些状态的存在 使其能对自身及外界对象施加操作。当然 个对象的这些状态并不是完全用来直接 为外界服务的,但它们本身是能够为外界 服务的基础。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 7 (2)对象的状态 一个对象之所以能在现实世界中独立 存在,是因为它具有自身的状态,即自身 所具有的那些特征。由于这些状态的存在, 使其能对自身及外界对象施加操作。当然 一个对象的这些状态并不是完全用来直接 为外界服务的,但它们本身是能够为外界 服务的基础
3)对象的特征 对象从形式上看,是系统程序员、应 用程序员或用户所定义的抽象数据类型的 变量;当用户定义一个对象,就创造了具 有丰富内涵的新的抽象数据类型。它是构 成和支撑整个面向对象程序设计的细胞和 基石。它具有下述三个特性。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 8 (3)对象的特征 对象从形式上看,是系统程序员、应 用程序员或用户所定义的抽象数据类型的 变量;当用户定义一个对象,就创造了具 有丰富内涵的新的抽象数据类型。它是构 成和支撑整个面向对象程序设计的细胞和 基石。它具有下述三个特性
①模块独立性 从逻辑上看,一个对象是独立存在的模块 从外部看这模块,只需了解它具有哪些功能,至 于它如何实现这些功能和使用哪些局部数据来完 成它们,则都“隐蔽”在模块内部。这意味着模 块内部状态不因外界的干扰而改变,也不会波及 其他模块;模块间的依赖性极小或几乎没有;各 模块可以独立地为系统所组合选用,也可被程序 员重用,而不必担心波及或破坏其他模块。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 9 ①模块独立性。 从逻辑上看,一个对象是独立存在的模块。 从外部看这模块,只需了解它具有哪些功能,至 于它如何实现这些功能和使用哪些局部数据来完 成它们,则都“隐蔽”在模块内部。这意味着模 块内部状态不因外界的干扰而改变,也不会波及 其他模块;模块间的依赖性极小或几乎没有;各 模块可以独立地为系统所组合选用,也可被程序 员重用,而不必担心波及或破坏其他模块
②动态连接性 客观世界中各式各样的对象,并不是 孤立存在的,它们之间是有联系的。正是 它们之间的相互作用、联系和连接,构成 世间各种不同的系统。同时,在面向对象 程序设计中,通过消息激活机制,把对象 之间动态联系在一起,使整个机体运转起 来,便称为对象的连接性, 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 10 ②动态连接性。 客观世界中各式各样的对象,并不是 孤立存在的,它们之间是有联系的。正是 它们之间的相互作用、联系和连接,构成 世间各种不同的系统。同时,在面向对象 程序设计中,通过消息激活机制,把对象 之间动态联系在一起,使整个机体运转起 来,便称为对象的连接性