文档介绍:第四章 类与对象
C++语言程序设计
.
1
本章主要内容
面向对象的思想
OOP的基本特点
类概念和声明
对象
构造函数
析构函数
内联成员函数
拷贝构造函数
类的组合
结构体与联合体
深度探索
.
2
回顾:面向过程的设计方法
重点:
如何实现的细节和过程,将数据与函数分开。
形式:
主模块+若干个子模块(main()+子函数)。
特点:
自顶向下,逐步求精——功能分解。
缺点:
效率低,程序的可重用性差。
面向对象的思想
.
3
面向对象的方法
目的:
实现软件设计的产业化。
观点:
自然界是由实体(对象)所组成。
程序设计方法:
使用面向对象的观点来描述模仿并处理现实问题。
要求:
高度概括、分类、和抽象。
面向对象的思想
.
4
抽象
抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。
先注意问题的本质及描述,其次是实现过程或细节。
数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。
代码抽象:描述某类对象的共有的行为特征或具有的功能。
抽象的实现:通过类的声明。
OOP的基本特点
.
5
抽象实例——钟表
数据抽象:
int hour,int minute,int second
代码抽象:
setTime(),showTime()
OOP的基本特点
.
6
抽象实例——钟表类
class Clock {
public:
void setTime(int newH, int newM, int newS); void showTime();
private:
int hour, minute, second;
};
OOP的基本特点
.
7
抽象实例——人
数据抽象:
string name,string gender,int age,int id
代码抽象:
生物属性角度:getCloth(), eat(), step(),…
社会属性角度:work(), promote() ,…
OOP的基本特点
.
8
封装
将抽象出的数据成员、代码成员相结合,将它们视为一个整体。
目的是曾强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。
实现封装:类声明中的{}
OOP的基本特点
.
9
封装
实例:
class Clock {
public:void setTime(int newH, int newM,
int newS); void showTime();
private: int hour, minute, second;
};
边界
特定的访问权限
OOP的基本特点
外部接口
.
10