第4章类和对象 H 第4章类和对象 4.1面向对象的思想 4.2面向对象程序设计的基本特点 4.3面向对象的方法 44面向对象的标记 4.5类和对象 4.6构造函数和析构函数 4.7类的组合 4.8类模板 BACK
第4章 类和对象 第4章 类和对象 4.1 面向对象的思想 4.2 面向对象程序设计的基本特点 4.3 面向对象的方法 4.4 面向对象的标记 4.5 类和对象 4.6 构造函数和析构函数 4.7 类的组合 4.8 类模板
第4章类和对象 H 41面向对象的思想 C++是一种面向对象的程序设计语言,使用它可以 实现面向对象的程序设计。在介绍其面向对象的特性 之前,我们先来了解一下面向对象程序设计的特点 以及它与传统的结构化程序设计的联系与本质差别
第4章 类和对象 4.1 面向对象的思想 C++是一种面向对象的程序设计语言,使用它可以 实现面向对象的程序设计。在介绍其面向对象的特性 之前,我们先来了解一下面向对象程序设计的特点, 以及它与传统的结构化程序设计的联系与本质差别
第4章类和对象 4.1.1结构化程序设计 使用早期的计算机语言编写较大的程序时,由于 当时未采用结构化的程序设计方法,使得程序的阅读、 理解和调试都非常困难,对程序进行维护或增加新的 功能几乎是一件不可能的事情
第4章 类和对象 4.1.1 结构化程序设计 使用早期的计算机语言编写较大的程序时,由于 当时未采用结构化的程序设计方法,使得程序的阅读、 理解和调试都非常困难,对程序进行维护或增加新的 功能几乎是一件不可能的事情
第4章类和对象 H 20世纪60年代以来,提出了结构化程序设计的概 念,它的产生和发展形成了现代软件工程的基础。结 构化程序设计建议采用有含义的变量名、实现程序的 全局和局部范围以及一种面向过程的自顶向下编程方 法,它的基本思想是:自顶向下,逐步求精,将整个 程序结构划分成若干个功能相对独立的子模块,并要 求这些子模块间的关系尽可能简单;子模块又可继续 划分,直至最简;每一个模块最终都可用顺序、选择、 循环三种基本结构来实现
第4章 类和对象 20世纪60 年代以来,提出了结构化程序设计的概 念,它的产生和发展形成了现代软件工程的基础。结 构化程序设计建议采用有含义的变量名、实现程序的 全局和局部范围以及一种面向过程的自顶向下编程方 法,它的基本思想是:自顶向下,逐步求精,将整个 程序结构划分成若干个功能相对独立的子模块,并要 求这些子模块间的关系尽可能简单;子模块又可继续 划分,直至最简;每一个模块最终都可用顺序、选择、 循环三种基本结构来实现
第4章类和对象 H 结构化程序设计可以有效地将一个复杂的问题分 解为若干个易于处理的子问题,每一个子问题都可以 独立地编程解决,从而将整个程序划分成多个子模块 或过程,因此,结构化程序设计是一种面向过程的程 序设计方法。在结构化程序设计方法中,程序的基本 构成单位是函数或者过程
第4章 类和对象 结构化程序设计可以有效地将一个复杂的问题分 解为若干个易于处理的子问题,每一个子问题都可以 独立地编程解决,从而将整个程序划分成多个子模块 或过程,因此,结构化程序设计是一种面向过程的程 序设计方法。在结构化程序设计方法中,程序的基本 构成单位是函数或者过程
第4章类和对象 H 结构化程序设计方法有许多优点:各模块可以分别 编写,使得程序更易于阅读、理解、测试和修改;方 便增加新的功能模块;功能独立的模块可以组成子程 序库,有利于实现软件的复用。结构化程序设计的方 法出现之后,立即为广大的程序设计人员所接受并广 泛使用,成为程序设计的主流方法
第4章 类和对象 结构化程序设计方法有许多优点:各模块可以分别 编写,使得程序更易于阅读、理解、测试和修改;方 便增加新的功能模块;功能独立的模块可以组成子程 序库,有利于实现软件的复用。结构化程序设计的方 法出现之后,立即为广大的程序设计人员所接受并广 泛使用,成为程序设计的主流方法
第4章类和对象 H 由于结构化程序设计方法是面向过程的,以解决 问题的过程作为程序的基础和重点,因此,在方法上 存在着不足。在结构化程序设计中,把程序定义为 “数据结构+算法”,数据与处理这些数据的过程是分 离的。这样,对不同格式的数据作相同的处理,或是 对相同的数据作不同的处理,都需要不同的程序模块 来实现,使得程序的可复用性并不好。同时,由于过 程和数据相分离,数据可能被多个模块所使用和修改, 很难保证数据的安全性和一致性
第4章 类和对象 由于结构化程序设计方法是面向过程的,以解决 问题的过程作为程序的基础和重点,因此,在方法上 存在着不足。在结构化程序设计中,把程序定义为 “数据结构+算法”,数据与处理这些数据的过程是分 离的。这样,对不同格式的数据作相同的处理,或是 对相同的数据作不同的处理,都需要不同的程序模块 来实现,使得程序的可复用性并不好。同时,由于过 程和数据相分离,数据可能被多个模块所使用和修改, 很难保证数据的安全性和一致性
第4章类和对象 H 41.2面向对象程序设计 面向对象的程序设计技术是完成程序设计任务的 种新方法,它汲取了结构化程序设计中最为精华的 部分。“面向对象程序设计是被结构化的结构化程序 设计。它是软件开发的第二次变革,是程序结构的统 理论” 在面向对象程序设计中,将对象作为构成软件系 统的基本单元,并从相同类型的对象中抽象出一种新 型的数据结构—类
第4章 类和对象 4.1.2 面向对象程序设计 面向对象的程序设计技术是完成程序设计任务的 一种新方法,它汲取了结构化程序设计中最为精华的 部分。 “面向对象程序设计是被结构化的结构化程序 设计。它是软件开发的第二次变革,是程序结构的统 一理论” 。 在面向对象程序设计中,将对象作为构成软件系 统的基本单元,并从相同类型的对象中抽象出一种新 型的数据结构——类
第4章类和对象 H 对象是类的实例。类是一种区别于其它各种一般 数据类型的特殊类型。类的成员中不仅包含有描述类 对象属性的数据,还包含对这些数据进行处理的程序 代码,称之为对象的行为(或操作)。对象将其属性 和行为封装在一起,并将其内部大部分的实现细节隐 藏起来,仅通过一个可控的接口与外界交互。 面向对象程序设计不仅实现了数据抽象,而且通 过抽象出相关类的共性,而形成一般类(基类),并 在此基础上,采用继承的方式,对一般类增添不同的 特性而派生出多种特殊类(派生类),从而建立了类 与类之间的多层结构关系,为软件复用提供了有效的 途径
第4章 类和对象 对象是类的实例。类是一种区别于其它各种一般 数据类型的特殊类型。类的成员中不仅包含有描述类 对象属性的数据,还包含对这些数据进行处理的程序 代码,称之为对象的行为(或操作)。对象将其属性 和行为封装在一起,并将其内部大部分的实现细节隐 藏起来,仅通过一个可控的接口与外界交互。 面向对象程序设计不仅实现了数据抽象,而且通 过抽象出相关类的共性,而形成一般类(基类),并 在此基础上,采用继承的方式,对一般类增添不同的 特性而派生出多种特殊类(派生类),从而建立了类 与类之间的多层结构关系,为软件复用提供了有效的 途径
第4章类和对象 H 面向对象程序设计支持多态性。多态性与继承性 相结合,使不同结构的对象可以以各自不同的方式响 应同一消息 软件系统的对象之间存在着依存关系,对象之间 通过消息联系。面向对象程序设计中,消息表现为对 象在起操作过程中对另一个对象的服务程序的调用 ACK
第4章 类和对象 面向对象程序设计支持多态性。多态性与继承性 相结合,使不同结构的对象可以以各自不同的方式响 应同一消息。 软件系统的对象之间存在着依存关系,对象之间 通过消息联系。面向对象程序设计中,消息表现为对 象在起操作过程中对另一个对象的服务程序的调用