清华大学:《C++语言程序设计》课程教学资源(PPT课件)第四章 类与对象

C++语言程序设计 第四章类与对象 清华大学计算机与信息管理中心 郑莉
1 第四章 类与对象 C++语言程序设计 清华大学计算机与信息管理中心 郑 莉

本章主要内率 ●面向对象的思想析构函数 OOP的基本特点 内联成员函数 类概念和声明 拷贝构造函数 对象 构造函数 ●类的聚集 大 休息
前一页 休息 2 本章主要内容 ⚫ 面向对象的思想 ⚫ OOP的基本特点 ⚫ 类概念和声明 ⚫ 对象 ⚫ 构造函数 ⚫ 析构函数 ⚫ 内联成员函数 ⚫ 拷贝构造函数 ⚫ 类的聚集

回顾:面向过程的设计方法 面 向·重点: 对 如何实现细节过程,将数据与函数分开。 象。形式: 的 主模块+若干个子模块(main0+子函数)。 思。特点 想 自顶向下,逐步求精——功能分解。 缺点: 效率低,程序的可重用性差 休息 3
前一页 休息 3 回顾:面向过程的设计方法 ⚫ 重点: – 如何实现细节过程,将数据与函数分开。 ⚫ 形式: – 主模块+若干个子模块(main()+子函数)。 ⚫ 特点: – 自顶向下,逐步求精——功能分解。 ⚫ 缺点: – 效率低,程序的可重用性差。 面 向 对 象 的 思 想

面向对家的方法 面 向目的: 对 实现软件设计的产业化 象·观点: 自然界是由实体(对象)所组成。 思。程序设计方法: 想 使用面向对象的观点来描述模仿并处理 现实问题 要求 高度概括、分类、和抽象。 休息
前一页 休息 4 面向对象的方法 ⚫ 目的: – 实现软件设计的产业化。 ⚫ 观点: – 自然界是由实体(对象)所组成。 ⚫ 程序设计方法: – 使用面向对象的观点来描述模仿并处理 现实问题。 ⚫ 要求: – 高度概括、分类、和抽象。 面 向 对 象 的 思 想

抽家 ○抽象是对具体对象(问题)进行概括, 抽出这一类对象的公共性质并加以描述 的 的过程。 基 先注意问题的本质及描述,其次是实现过 本特 程或细节。 数据抽象:描述某类对象的属性或状态 (对象相互区别的物理量)。 点代码抽象:描述某类对象的共有的行为特 征或具有的功能。 抽象的实现:通过类的声明。★
前一页 休息 5 抽象 抽象是对具体对象(问题)进行概括, 抽出这一类对象的公共性质并加以描述 的过程。 – 先注意问题的本质及描述,其次是实现过 程或细节。 – 数据抽象:描述某类对象的属性或状态 (对象相互区别的物理量)。 – 代码抽象:描述某类对象的共有的行为特 征或具有的功能。 – 抽象的实现:通过类的声明。 OOP 的 基 本 特 点

抽家实例—钟衰 9·数据抽象: 的 int Hour. int Minute int Second 基代码抽象: 本特点 SetTime(, ShowT ime 休息
前一页 休息 6 抽象实例——钟表 ⚫ 数据抽象: int Hour, int Minute, int Second ⚫ 代码抽象: SetTime(), ShowTime() OOP 的 基 本 特 点

抽家实例—钟表类 class Clock 的 public 基 void set Time (int NewH, int NewM 本特点 int News) void ShowTime private int Hour Minute Second 休息
前一页 休息 7 抽象实例——钟表类 class Clock { public: void SetTime(int NewH, int NewM, int NewS); void ShowTime(); private: int Hour,Minute,Second; }; OOP 的 基 本 特 点

抽家实例 人 ⊙·数据抽象: Bg char* name, char *sex, int age, int id 基·代码抽象: 本 生物属性角度: 特 Getclotho, Eato, Stepo 点 社会属性角度: Worko, Promote 休息
前一页 休息 8 抽象实例——人 ⚫数据抽象: char *name,char *sex,int age,int id ⚫代码抽象: 生物属性角度: GetCloth(), Eat(), Step(),… 社会属性角度: Work(), Promote() ,… OOP 的 基 本 特 点

封装 ⊙将抽象出的数据成员、代码成员相结 的合,将它们视为一个整体 基本 目的是曾强安全性和简化编程,使用者 不必了解具体的实现细节,而只需要通 特点 过外部接口,以特定的访问权限,来使 用类的成员。 实现封装:类声明中的 休息
前一页 休息 9 封装 将抽象出的数据成员、代码成员相结 合,将它们视为一个整体。 – 目的是曾强安全性和简化编程,使用者 不必了解具体的实现细节,而只需要通 过外部接口,以特定的访问权限,来使 用类的成员。 – 实现封装:类声明中的{} OOP 的 基 本 特 点

封装 9。实例: class clock 的 外部接口 基 public: void Set Time(int NewH, int NewM 本 int NewS); 特 void Show Timeo 点 private: int Hour, Minute, Second 特定的访问权限 边界 了休息
前一页 休息 10 封装 ⚫ 实例: class Clock { public: void SetTime(int NewH,int NewM, int NewS); void ShowTime(); private: int Hour,Minute,Second; }; 边界 特定的访问权限 OOP 的 基 本 特 点 外部接口
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第三章 函数.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第二章 C艹十简单程序设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十三章 MFC库与 Windows程序开发概述.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入/输出.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十章 群体数据的组织.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)目录.ppt
- 上海理工大学:《电子商务基础与应用》课程教学资源(PPT课件)第四版 第六章 网络交易行为.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第12章 文件处理.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第11章 C++输入/输出流.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第10章 虚函数和多态性.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第09章 继承性.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第08章 运算符重载.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第07章 类与数据抽象.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第06章 指针和引用.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第05章 结构体和共用体.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第04章 数组.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第03章 函数.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第02章 C++程序设计基础.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第五章 C艹程序的结构.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第六章 数组指针与字 符串.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 继承与派生.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第八章 多态性.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第九章 群体类.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第一章 ntel8086/8088的基本结构.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)绪言.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第三章 汇编语言与汇编程序.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第二章 8086/8088的寻址方式与指令系统.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第五章 输入/输出与中断系统.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第七章 Win32汇编语言程序设计.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第四章 汇编语言程序设计的基本方法.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第六章 32位汇编程序设计.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第一章 计机基础知识.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第七章 PowerPoint2000.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第三章 操作系统.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第二章 微型计算机系统.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第五章 Word 2000.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第八章 计算机网络基础与Internet应用.ppt
- 北京邮电大学电信工程学院:高等教学计算机教材《C++大学基础教程》课程教学资源(PPT课件)第六章 指针和引用.ppt