第7章 面向对象的系统开发 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 1 第7章 面向对象的系统开发
第七章面向对象的系统开发 7.1面向对象的基本概念与特征 7.2面向对象的系统开发原理与步骤 7.3面向对象分析(OOA) 74面向对象设计(OOD) 7.5面向对象的程序设计语言(OOPL 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 2 第七章 面向对象的系统开发 7.1面向对象的基本概念与特征 7.2面向对象的系统开发原理与步骤 7.3面向对象分析(OOA) 7.4面向对象设计(OOD) 7.5面向对象的程序设计语言(OOPL)
7.1面向对象的基本概念与特征 7.1.1面向对象的基本概念 7.1.2面向对象的基本特征 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 3 7.1面向对象的基本概念与特征 7.1.1面向对象的基本概念 7.1.2面向对象的基本特征
7.1.1面向对象的基本概念 7.1.1面向对象的基本概念 面向对象技术的研究近几年来已经得到很大 的发展,但是,迄今为止,对面向对象技术还没 有一个明确的定义。一般认为,在软件开发中使 用对象、类和继承等概念就是面向对象技术:其 实涉及领域非常广泛,包括软件开发时使用的方 法学,软件开发实现阶段所使用的 数据库 等。面向对象技术还渗入人工智能,操作系统 并行处理等各个研究领域。作为面向对象技术的 核心,对象、类和继承以及其他一些概念的确切 含义如何,是计算机界一直比较关心的话题,但 迄今还没有 准的定义。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 4 7.1.1面向对象的基本概念 7.1.1面向对象的基本概念 面向对象技术的研究近几年来已经得到很大 的发展,但是,迄今为止,对面向对象技术还没 有一个明确的定义。一般认为,在软件开发中使 用对象、类和继承等概念就是面向对象技术:其 实涉及领域非常广泛,包括软件开发时使用的方 法学,软件开发实现阶段所使用的语言、数据库 等。面向对象技术还渗入人工智能,操作系统, 并行处理等各个研究领域。作为面向对象技术的 核心,对象、类和继承以及其他一些概念的确切 含义如何,是计算机界一直比较关心的话题,但 迄今还没有一个标准的定义
1、对象 对象( Object)是面向对象系统中的核 心概念。如果不能正确地认识和定义它, 就无法掌握面向对象的理论。理解面向对 象的理论,必须从最基本的概念入手,通 过对最基本的概念的掌握,真正认识面向 对象方法的作用。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 5 1、对象 对象(Object)是面向对象系统中的核 心概念。如果不能正确地认识和定义它, 就无法掌握面向对象的理论。理解面向对 象的理论,必须从最基本的概念入手,通 过对最基本的概念的掌握,真正认识面向 对象方法的作用
(1)对象的定义 对象具有两方面的含义,即在现实世界中的含义和在 计算机世界中的含义。一个对象既可以非常简单,又可 以非常复杂。复杂的对象往往可由若干简单对象组合而 成。 “对象”的特性: ①有一个名字以区别于其他对象; ②有一个状态用来描述它的某些特征; ③有一组操作,每个操作决定对象的一种功能或行为 ④对象的操作可分为两类:一类是自身所承受的操作,一类是 施加于其他对象的操作 由此,对象可以看做其自身所具有的状态特征及可以对 这些状态施加的操作结合在一起所构成的独立实体 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 6 (1)对象的定义 对象具有两方面的含义,即在现实世界中的含义和在 计算机世界中的含义。一个对象既可以非常简单,又可 以非常复杂。复杂的对象往往可由若干简单对象组合而 成。 “对象”的特性: ①有一个名字以区别于其他对象; ②有一个状态用来描述它的某些特征; ③有一组操作,每个操作决定对象的一种功能或行为; ④对象的操作可分为两类:一类是自身所承受的操作,一类是 施加于其他对象的操作。 由此,对象可以看做其自身所具有的状态特征及可以对 这些状态施加的操作结合在一起所构成的独立实体
2)对象的状态 一个对象之所以能在现实世界中独立 存在,是因为它具有自身的状态,即自身 所具有的那些特征。由于这些状态的存在 使其能对自身及外界对象施加操作。当然 个对象的这些状态并不是完全用来直接 为外界服务的,但它们本身是能够为外界 服务的基础。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 7 (2)对象的状态 一个对象之所以能在现实世界中独立 存在,是因为它具有自身的状态,即自身 所具有的那些特征。由于这些状态的存在, 使其能对自身及外界对象施加操作。当然 一个对象的这些状态并不是完全用来直接 为外界服务的,但它们本身是能够为外界 服务的基础
3)对象的特征 对象从形式上看,是系统程序员、应 用程序员或用户所定义的抽象数据类型的 变量;当用户定义一个对象,就创造了具 有丰富内涵的新的抽象数据类型。它是构 成和支撑整个面向对象程序设计的细胞和 基石。它具有下述三个特性。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 8 (3)对象的特征 对象从形式上看,是系统程序员、应 用程序员或用户所定义的抽象数据类型的 变量;当用户定义一个对象,就创造了具 有丰富内涵的新的抽象数据类型。它是构 成和支撑整个面向对象程序设计的细胞和 基石。它具有下述三个特性
①模块独立性 从逻辑上看,一个对象是独立存在的模块 从外部看这模块,只需了解它具有哪些功能,至 于它如何实现这些功能和使用哪些局部数据来完 成它们,则都“隐蔽”在模块内部。这意味着模 块内部状态不因外界的干扰而改变,也不会波及 其他模块;模块间的依赖性极小或几乎没有;各 模块可以独立地为系统所组合选用,也可被程序 员重用,而不必担心波及或破坏其他模块。 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 9 ①模块独立性。 从逻辑上看,一个对象是独立存在的模块。 从外部看这模块,只需了解它具有哪些功能,至 于它如何实现这些功能和使用哪些局部数据来完 成它们,则都“隐蔽”在模块内部。这意味着模 块内部状态不因外界的干扰而改变,也不会波及 其他模块;模块间的依赖性极小或几乎没有;各 模块可以独立地为系统所组合选用,也可被程序 员重用,而不必担心波及或破坏其他模块
②动态连接性 客观世界中各式各样的对象,并不是 孤立存在的,它们之间是有联系的。正是 它们之间的相互作用、联系和连接,构成 世间各种不同的系统。同时,在面向对象 程序设计中,通过消息激活机制,把对象 之间动态联系在一起,使整个机体运转起 来,便称为对象的连接性, 杜永林 第七章面向对象的系统开发
杜永林 第七章 面向对象的系统开发 10 ②动态连接性。 客观世界中各式各样的对象,并不是 孤立存在的,它们之间是有联系的。正是 它们之间的相互作用、联系和连接,构成 世间各种不同的系统。同时,在面向对象 程序设计中,通过消息激活机制,把对象 之间动态联系在一起,使整个机体运转起 来,便称为对象的连接性