清华大学出版社 TSINGHUA UNIVERSITY PRESS 第15章C+的面向对象基础 151概述 152类和对象 153构造函数和析构函数 154继承与派生
15.1 概述 15.2 类和对象 15.3 构造函数和析构函数 15.4 继承与派生 第15章 C++的面向对象基础
清华大学出版社 TSINGHUA UNIVERSITY PRESS 15.1概述 C艹不仅扩充了C面向过程的功能,而且增加了面向 对象的功能,这就使C++成为能适应面向对象程序 设计的现代大型语言。C+不是简单地对C做了某 些改进,而是在C成功的基础上进行了一场革命。 赋予C以新的生命力。 客观世界中任何一个事物都可以看成一个对象。或 者说,客观世界是由千千万万个对象组成的,它 们之间通过一定的渠道相互联系,如图15.1示意。 在实际生活中,人们往往在一个对象中进行活动, 或者说对象是进行活动的基本单位。作为对象, 它应该至少有两个要素:一是从事活动的主体; 是活动的内容。要进行活动,或者是事先安排 好一个活动计划,或者由外界临时通知
15.1 概述 C++不仅扩充了C面向过程的功能,而且增加了面向 对象的功能,这就使C++成为能适应面向对象程序 设计的现代大型语言。C++不是简单地对C做了某 些改进,而是在C成功的基础上进行了一场革命。 赋予C以新的生命力。 客观世界中任何一个事物都可以看成一个对象。或 者说,客观世界是由千千万万个对象组成的,它 们之间通过一定的渠道相互联系,如图15.1示意。 在实际生活中,人们往往在一个对象中进行活动, 或者说对象是进行活动的基本单位。作为对象, 它应该至少有两个要素:一是从事活动的主体; 二是活动的内容。要进行活动,或者是事先安排 好一个活动计划,或者由外界临时通知
清华大学出版社 TSINGHUA UNIVERSITY PRESS 对象1 对象2 数据 对象 操作代码 对象3 对象4 图151 图152
图15.1 图15.2
清华大学出版社 TSINGHUA UNIVERSITY PRESS 从计算机的角度看,一个对象应该包括两个要素: 是数据;二是需要进行的操作。对象就是一个 包含数据以及与这些数据有关的操作的集合。图 152表示一个对象是由数据和操作代码组成的。 传统的面向过程程序设计是围绕功能进行的,用 个函数实现一个功能。所有的数据都是公用的, 个函数可以使用任意一组数据,而一组数据又 能被多个函数所使用(见图153)。程序设计者必 须考虑每一个细节,什么时候对什么数据进行操 作。当程序规模较大、数据很多、操作种类繁多 时,程序设计者往往感到难以应付
从计算机的角度看,一个对象应该包括两个要素: 一是数据;二是需要进行的操作。对象就是一个 包含数据以及与这些数据有关的操作的集合。图 15.2 表示一个对象是由数据和操作代码组成的。 传统的面向过程程序设计是围绕功能进行的,用一 个函数实现一个功能。所有的数据都是公用的, 一个函数可以使用任意一组数据,而一组数据又 能被多个函数所使用(见图15.3)。程序设计者必 须考虑每一个细节,什么时候对什么数据进行操 作。当程序规模较大、数据很多、操作种类繁多 时,程序设计者往往感到难以应付
清华大学出版社 TSINGHUA UNIVERSITY PRESS 主函数 函数1 函数2 函数3 函数11 函数12 函数31 函数32 (数据1 (数据2 数据3 图153
图15.3