第9章 类和对象
2021/2/24 1 第9章 类和对象
概述 为什么定义类把现实世界的事物归纳成类,以 贴近自然的方式描述现实系统。类是结构的扩展, 可用来对外部函数访问作限制。 局部变量隐藏在函数体内;通→数据量大时,效率低 过函数的参数传递共享变量 使用全局变量,程序中每个函 查错困难 数都可以访问。 使用静态全局变量,局限于文件。 2021/224
2021/2/24 2 为什么定义类 把现实世界的事物归纳成类,以 贴近自然的方式描述现实系统。类是结构的扩展, 可用来对外部函数访问作限制。 概述 局部变量隐藏在函数体内;通 过函数的参数传递共享变量。 使用静态全局变量,局限于文件。 数据量大时,效率低 使用全局变量,程序中每个函 数都可以访问。 查错困难
外部函数可直接访问 破坏了数据的封装特性 结构的成员。 C艹引入类解决上述问题(限制全局变量使用和 构成新类型) 2021/224
2021/2/24 3 C++引入类解决上述问题(限制全局变量使用和 构成新类型) 外部函数可直接访问 结构的成员。 破坏了数据的封装特性
类 什么是类将数据与处理这些数据的函数封装成 个整体,即构成了类。封装可以解决数据与函 数代码之间的相容性和数据的保护问题。 类的组成类名、数据成员(属性、data member)、成员函数(服务、 member function) 与结构不同之处是成员访问说明符。 除该类的成员函数外, 访问说明符 protecta 谁都不得访问 publi 程序中所有函数都可 访问 2021/224
2021/2/24 4 类的组成 类名、数据成员(属性、data member)、成员函数(服务、member function)。 什么是类 将数据与处理这些数据的函数封装成 一个整体,即构成了类。封装可以解决数据与函 数代码之间的相容性和数据的保护问题。 类 与结构不同之处是成员访问说明符。 除该类的成员函数外, 谁都不得访问 程序中所有函数都可 访问 public protected private 访问说明符
proceted所限定的成员为保护成员,它允许该类成员 及该类的派生类成员函数存取保护成员数据或调用保 护成员函数。 注:1.三个关键字的顺序无关紧要,且可多次使用。 2.一个关键字的访问权限自紧跟关键字后的第 个成员 起,至出现另一个限定访问权限的关键字止 3类体中成员的顺序不限,建议成员数据集中 在类体 的前面定义,成员函数集中在类体的后面定义。 类的实例称为对象。 2021/2/24 5
2021/2/24 5 注:1.三个关键字的顺序无关紧要,且可多次使用。 2.一个关键字的访问权限自紧跟关键字后的第一 个成员 起,至出现另一个限定访问权限的关键字止。 3.类体中成员的顺序不限,建议成员数据集中 在类体 的前面定义,成员函数集中在类体的后面定义。 proceted所限定的成员为保护成员,它允许该类成员 及该类的派生类成员函数存取保护成员数据或调用保 护成员函数。 类的实例称为对象