C++语言程序设计 第四章类与对象 x
1 第四章 类与对象 C++语言程序设计
C++语言程序设计 本章主要内容 ●面向对象的思想析构函数 OOP的基本特点 内联成员函数 类概念和声明 ●拷贝构造函数 对象 类的组合 ●构造函数 x
C++语言程序设计 2 本章主要内容 ⚫ 面向对象的思想 ⚫ OOP的基本特点 ⚫ 类概念和声明 ⚫ 对象 ⚫ 构造函数 ⚫ 析构函数 ⚫ 内联成员函数 ⚫ 拷贝构造函数 ⚫ 类的组合
C++语言程序设计 思考问题 什么是类?什么是对象?类与对象 的区别? 构造函数和析构函数分别有什么用 途? 什么时候会调用拷贝构造函数? x 3
C++语言程序设计 3 思考问题 什么是类?什么是对象?类与对象 的区别? 构造函数和析构函数分别有什么用 途? 什么时候会调用拷贝构造函数?
C++语言程序设计 回顾:面向过程的设计方法 面 向面向过程的程序设计方法是按功能来分 对割问题。程序实现时把数据和处理数据 象的函数完全分开。 的·形式: 思主模块+若干个子模块(main()+子函数)。 想。特点: 自顶向下,逐步求精—功能分解。大
C++语言程序设计 4 回顾:面向过程的设计方法 面向过程的程序设计方法是按功能来分 割问题。程序实现时把数据和处理数据 的函数完全分开。 ⚫ 形式: 主模块+若干个子模块(main()+子函数)。 ⚫ 特点: 自顶向下,逐步求精——功能分解。 面 向 对 象 的 思 想
C++语言程序设计 面向对的方法 面 向。目的: 对 实现软件设计的产业化。 象·观点: 的 自然界是由实体(对象)所组成。 思°程序设计方法: 使用面向对象的观点来描述模仿并处理现实问 想 题。面向对象程序设计是按对象来分割问题。 原则: 抽象和分类。 x
C++语言程序设计 5 面向对象的方法 ⚫ 目的: – 实现软件设计的产业化。 ⚫ 观点: – 自然界是由实体(对象)所组成。 ⚫ 程序设计方法: – 使用面向对象的观点来描述模仿并处理现实问 题。面向对象程序设计是按对象来分割问题。 ⚫ 原则: – 抽象和分类。 面 向 对 象 的 思 想
C++语言程序设计 C++中面向对象程序设计 C++程序设计语言支持面向对象的程 序设计方法。 中。在C+中通过类来实现面向对象的程 8序设计。类是c+封装的基本单元。 利用类易于编写大型复杂程序,其模 的块化程度比C中采用函数更高。 基 本 特 x 点
C++语言程序设计 6 C++中面向对象程序设计 ⚫ C++程序设计语言支持面向对象的程 序设计方法。 ⚫ 在C++中通过类来实现面向对象的程 序设计。类是C++封装的基本单元。 ⚫ 利用类易于编写大型复杂程序,其模 块化程度比C中采用函数更高。 C++ 中OOP 的 基 本 特 点
C++语言程序设计 抽象机制 抽象是对具体对象(问题)进行概括 十抽出这一类对象的公共性质并加以描述 中的过程。 先注意问题的本质及描述,其次是实现过 程或细节。 数据抽象:描述某类对象的属性或状态 的 (对象相互区别的物理量)。 基 代码抽象:描述某类对象的共有的行为特 本 征或具有的功能。 特抽象的实现:通过类的定义 x 点
C++语言程序设计 7 抽象机制 抽象是对具体对象(问题)进行概括, 抽出这一类对象的公共性质并加以描述 的过程。 – 先注意问题的本质及描述,其次是实现过 程或细节。 – 数据抽象:描述某类对象的属性或状态 (对象相互区别的物理量)。 – 代码抽象:描述某类对象的共有的行为特 征或具有的功能。 – 抽象的实现:通过类的定义。 C++ 中OOP 的 基 本 特 点
C++语言程序设计 抽象奥例——钟表 ●数据抽象 int Hour. int minute. int second 中○O的基本特点 代码抽象 Set Time(, ShowT ime x 8
C++语言程序设计 8 抽象实例——钟表 ⚫ 数据抽象: int Hour, int Minute, int Second ⚫ 代码抽象: SetTime(), ShowTime() C++ 中OOP 的 基 本 特 点
C++语言程序设计 抽象实例一钟表类 class Clock public 中○O的基本特点 void Set T ime (int NewH, int NewM int News void ShowTime private int Hour minute second x
C++语言程序设计 9 抽象实例——钟表类 class Clock { public: void SetTime(int NewH, int NewM, int NewS); void ShowTime(); private: int Hour,Minute,Second; }; C++ 中OOP 的 基 本 特 点
C++语言程序设计 封装 将抽象出的数据成员、代码成员相结 ,将它们视为一个整体。 中○O的基本特点 目的是曾强安全性和简化编程,使用者 不必了解具体的实现细节,而只需要通 过外部接口,以特定的访问权限,来使 用类的成员。 实现封装:类声明中的 x
C++语言程序设计 10 封装 将抽象出的数据成员、代码成员相结 合,将它们视为一个整体。 – 目的是曾强安全性和简化编程,使用者 不必了解具体的实现细节,而只需要通 过外部接口,以特定的访问权限,来使 用类的成员。 – 实现封装:类声明中的{} C++ 中OOP 的 基 本 特 点