目录
绪论
l 程序中的对象是现实中对象的模拟,具有属性和功能/行为;
l 抽象出同一类对象的共同属性和行为,形成类,对象是类的实例;
l 类将数据和处理数据的函数封装在一起,隐藏内部细节,提供对外访问接口;
l 定义对象时,可以通过构造函数进行初始化;
l 删除对象时,可以通过析构函数释放资源;
l 一个类的对象可以由其他类的对象组合而成,即类的成员可以是其他类的对象;
l 在这一章,我们还将学习结构体、联合体和枚举类。
面向对象程序设计的基本特点
抽象
l 对同一类对象的共同属性和行为进行概括,形成类。
n 先注意问题的本质及描述,其次是实现过程或细节。
n 数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。
n 代码抽象:描述某类对象的共有的行为特征或具有的功能。
n 抽象的实现:类。
l 抽象实例——钟表
n 数据抽象:
int hour,int minute,int second
n 代码抽象:
setTime(),showTime()
class Clock {
public:
void setTime(int newH, int newM, int newS);
void showTime();
private:
int hour, minute, second;
};
封装
l 将抽象出的数据、代码封装在一起,形成类。
n 目的:增强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。
n 实现封装:类声明中的{}
l 例:
class Clock {
public: void setTime(int newH, int newM, int newS);
void showTime();
private: int hour, minute, second;
};
继承
l 在已有类的基础上,进行扩展形成新的类。
l 详见第7章
多态
l 多态:同一名称,不同的功能实现方式。
l 目的:达到行为标识统一,减少程序中标识符的个数。
l 实现:重载函数和虚函数——见第8章