《C++程序设计教程》教学资源(PPT课件讲稿)第4讲 类与对象

C+语言程序设计 第4讲:类与对象
C++语言程序设计 第4讲: 类与对象/5

对象的概念 对象是现实世界的实体,是由一组状态和行 为组成的集合。 面向对象的方法:把问题看作成由许多彼此 互相联系的对象组成。 面向对象的程序设计00: Object Oriented Programming 把数据和函数封装在称为对象的包中,公布对象的 接口,而将实现的细节隐蔽起来
对象的概念 对象是现实世界的实体,是由一组状态和行 为组成的集合。 面向对象的方法:把问题看作成由许多彼此 互相联系的对象组成。 面向对象的程序设计OOP:Object Oriented Programming; 把数据和函数封装在称为对象的包中,公布对象的 接口,而将实现的细节隐蔽起来

餐对象是现实世界的实体,是由一组状 态和行为组成的集合。 鼙例1:图书馆 状态:共有多少类图书;每类图书有多少册;读者人数 馆内库存有多少本;正在阅读的有多少本;外借多少 本 行为:办图书证;图书检索;阅览室阅读;外借阅 读 例2:学校 状态:总人数;教师人数;本科生人数;研究生人数;科 研成果; 行为:招生;毕业;授课;实验;考试;科研;
对象是现实世界的实体,是由一组状 态和行为组成的集合。 例1:图书馆 状态:共有多少类图书;每类图书有多少册;读者人数; 馆内库存有多少本;正在阅读的有多少本;外借多少 本;…… 行为:办图书证;图书检索;阅览室阅读;外借阅 读; …… 例2:学校 状态:总人数;教师人数;本科生人数;研究生人数;科 研成果;…… 行为:招生;毕业;授课;实验;考试;科研;……

面向对象的方法:把问题看作成由许 多彼此互相联系的对象组成。 例:学校管理 学校管理工作:学籍管理、教务管理、教师管理、住宿管 理、伙食管理、科研管理 学籍管理:入学、成绩、奖惩、毕业 教务管理:课程设置、排课、质量监督. 住宿管理:宿舍安排、打扫卫生、安全保卫 伙食管理:饭卡管理、承包管理、卫生监督 ●科研管理:项目申请、设备采购、项目鉴定 作为校长不必每件事都去具体管理,他只要设置一个 部门去管理就行了。这些部门就是对象!!! 大的单位的管理必须划分不同的职能部门( Object)
面向对象的方法:把问题看作成由许 多彼此互相联系的对象组成。 例:学校管理 学校管理工作: 学籍管理、教务管理、教师管理、住宿管 理、伙食管理、科研管理、…… 学籍管理:入学、成绩、奖惩、毕业…… 教务管理:课程设置、排课、质量监督…… 住宿管理:宿舍安排、打扫卫生、安全保卫…… 伙食管理:饭卡管理、承包管理、卫生监督…… 科研管理:项目申请、设备采购、项目鉴定…… 作为校长不必每件事都去具体管理,他只要设置一个 部门去管理就行了。这些部门就是对象!!! 大的单位的管理必须划分不同的职能部门(Object)

结构的定义 struct Time i int hour: int minute; int second; J Time就是一个数据类型 Time timeObject, timeArray[101, timePtr 访问结构的成员 cout hour 用结构实现用户定义的类型Time 结构建立数据类型的缺陷: 无初始化,可读性差,可维护性差
结构的定义 struct Time { int hour; int minute; int second; }; Time就是一个数据类型 Time timeObject, timeArray[10], *timePtr; 访问结构的成员 cout hour; 用结构实现用户定义的类型Time 结构建立数据类型的缺陷: 无初始化,可读性差,可维护性差

void ShowTime(int hr,int min,int sec) main ShowTime(9,30,0)i return 0: void ShowTime (int hr int min int sec) c吐t<(hx<10?"o″:W)<<hx<<N: (min<10?"o":"")<<min<<W: <<(sec<10?0″:W")<<sec; 09:30:00
void ShowTime(int hr,int min,int sec); main() { ShowTime(9,30,0); return 0; } void ShowTime(int hr,int min,int sec) { cout << (hr < 10 ? “0” : “”) << hr << “:” << (min < 10 ? “0” : “”) << min << “:” << (sec < 10 ? “0” : “”) << sec; } 09:30:00

struct Clock t int hour int minute int second:)i void ShowTime(const Clock&)i main o Clock myClock=[9,30,0]i ShowTime(myclock)i return 0: void ShowTime(const Clock& c) cout < (c hour <10? on: w<<chour < < (c minute 10? o: W)<< c minute < <(c. second 10? wO:N)<<c. second < endl 09:30:00
struct Clock { int hour; int minute; int second; }; void ShowTime(const Clock&); main() { Clock myClock={9,30,0}; ShowTime(myClock); return 0; } void ShowTime(const Clock& c) { cout << (c.hour < 10 ? “0” : “”) << c.hour << “:” << (c.minute < 10 ? “0” : “”) << c.minute << “:” << (c.second < 10 ? “0” : “”) << c.second << endl; } 09:30:00

类和对象 class Clock t public: 构造函数 Clock o void SetTime (intint, int) 行为:公有函数 void ShowtIme o) private nt hour: int minute: int second 状态:私有函数 1)以关键字: class开始; 2)构造函数: constructor/自动执行初始化 3)公有函数: public//供外部调用 4)私有函数: private/外部不能访问(有一个例外,以后再介绍)
class Clock { public: Clock(); void SetTime (int, int, int); void ShowTime(); private: int hour; int minute; int second; }; 1) 以关键字: class开始; 2) 构造函数: constructor // 自动执行初始化 3) 公有函数: public // 供外部调用 4) 私有函数: private // 外部不能访问 (有一个例外,以后再介绍) 构造函数 行为:公有函数 状态:私有函数 类和对象

Clock:: Clock(// constructor hour =0; minute =0 second =0; void Clock:: Setrime (int hr int min int sec) void main o hour = hr >=0 && hr minute = min >=0&8[ second = sec >=0& Clock C c. Settimo(8,30,30); oid Clock:: Show Time o) C. ShowTime o) cout<<(hour<10?"o〃 c. hour 9; <<( minute<10?"o〃 <( secono<10?"o〃 )< second < endl;
Clock::Clock() // constructor { hour = 0; minute = 0; second = 0; } void Clock::SetTime(int hr,int min,int sec) { hour = ( hr >= 0 && hr = 0 && min = 0 && sec < 60 ) ? sec : 0; } void Clock::ShowTime() { cout << (hour < 10 ? “0” : “”) << hour << “:” << (minute < 10 ? “0” : “”) << minute << “:” << (second < 10 ? “0” : “”) << second << endl; } void main() { Clock c; c.SetTime(8,30,30); c.ShowTime(); c.hour = 9; }

结构与类的比较 癖结构好比是一个无人管理的开放的阅览室,所 有的报刊杂志都放在那里,读者可自主挑选 类则好比是有管理员的图书馆,看书借书必须 通过管理员许可。 C语言只能建一个阅览室,C++可以建一个图书馆
结构与类的比较 结构好比是一个无人管理的开放的阅览室,所 有的报刊杂志都放在那里,读者可自主挑选。 类则好比是有管理员的图书馆,看书借书必须 通过管理员许可。 C语言只能建一个阅览室, C++可以建一个图书馆
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++程序设计教程》教学资源(PPT课件讲稿)第5讲 C++程序的结构.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第6讲 数组、指针与字符串.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第7讲 MFC简介.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第7讲 继承与派生(1/2).ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第8讲 继承与派生(2/2).ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第9讲 运算符重载.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第10讲 运算符重载.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第11讲 虚函数(1/2).ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第12讲 虚函数(2/2).ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)MFC简介.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第2讲 MFC简介.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)复习.ppt
- 《C++程序设计教程》教学资源(讲义)FORTRAN.doc
- 《C++程序设计教程》教学资源(PPT课件讲稿)第1讲 绪论.ppt
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)附录ABC.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)教材介绍.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)课程介绍.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)附录B:术语汇编.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第24章 JavaScript使用.doc
- 清华大学:《多媒体技术》课程教学资源(教材教案讲义)第23章 可扩展超文本标记语言(XHTML).doc
- 《C++程序设计教程》教学资源(PPT课件讲稿)第3讲 更好的C.ppt
- 《C++程序设计教程》教学资源(PPT课件讲稿)第2讲 C++简单程序设计.ppt
- 《C++程序设计教程》教学资源(讲义)PASCAL.doc
- 《计算机文化基础》创造计算机的神话——比尔·盖茨.ppt
- 《计算机文化基础》课程教学资源(讲解内容).doc
- 《计算机图形学》课程教学资源:第1章 绪论.ppt
- 《计算机图形学》课程教学资源:第2章 图形系统.ppt
- 《计算机图形学》课程教学资源:第3章 基本图形生成算法.ppt
- 《计算机图形学》课程教学资源:第4章 图形变换.ppt
- 《计算机图形学》课程教学资源:第5章 曲线和曲面.ppt
- 《计算机图形学》课程教学资源:第6章 几何造型.ppt
- 《计算机图形学》课程教学资源:第7章 消隐.ppt
- 《计算机图形学》课程教学资源:第8章 真实图形.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第一章 Hello. C!.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第二章 基本数据类型.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 运算符与表达式.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第四章 顺序结构程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第五章 选择结构程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第六章 循环程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第七章 数组.ppt