- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 类和对象 第一章 C++的初步知识 第二章 类和对象 第三章 关于类和对象的进一步讨论 第四章 运算符重载 第五章 继承与派生 第六章 多态性与虚函数 第七章 输入输出流 第八章 C++工具 2.1 面向对象程序设计方法概述 2.2 类的声明和对象的定义 2.3 类的成员函数 2.4 对象成员的引用 2.5 类和对象的举例 2.6 类的封装和信息的隐藏 2.1 面向对象程序设计方法概述 什么是面向对象的程序设计? 面向对象的程序设计和人们日常生活解决问题的思路是相似的。 比如,我们生产汽车时,分别设计制造发动机、底盘、车身和轮子,最后组装在一起。组装时,各部件之间有联系,以便协调工作。例如,司机踩油门,就能调节油路,控制发动机的转速,就能驱动车轮。 2.1 面向对象程序设计方法概述 程序设计者的任务有两个:一是设计所需要的类和对象,即确定哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以启动相关对象的操作。 编程者如同一个总调度,不断地向各个对象发出命令,让这些对象活动起来,完成指定的工作。 这就是面向对象的程序设计的基本思路。 2.1 面向对象程序设计方法概述 什么是对象(object)? 一个对象由一组“属性”和一组“行为”构成。并根据外界给它的消息进行相应的操作。系统中多个对象通过一定的渠道相互联系。 任何事物都可以看成一个对象。可以是自然物体,也可以是逻辑结构。我们以一个班级为例。一个班级作为对象,有两个要素:一是班级的静态特征,如班级所属的专业,学生人数、班主任姓名等,这种静态特征称为“属性”;另一个是班级的动态特征,如上课,体育比赛,开会等,称为“行为”。外界向班级发一个信息(如上课铃声,广播通知),我们称之为“消息”,班级就会发生一个操作(要么上课,要么开会) 对象 对象 2.1 面向对象程序设计方法概述 什么是C++对象? C++中,每个对象都由数据和函数组成。 2.1 面向对象程序设计方法概述 类和对象的作用 类是C++的灵魂! 面向对象程序设计中,是以类和对象为基础的,程序操作是围绕对象进行的,所有的数据分别属于不同的对象。 相关的数据和操作放一起,形成一个整体,为对象。 面向对象的程序设计特点: 抽象、封装、继承、多态性。 2.2 类的声明和对象的定义 2.2.1 类和对象的关系 类 类是对某一类对象的抽象,代表了某些对象的共性和特征。 类是一种复杂的数据类型 将不同类型的数据和与这些数据相关的操作封装在一起 2.2.1 类和对象的关系 类是对象的抽象,对象是类的具体实例; 对象是 类 类型的一个变量; 课程 C++程序设计? 2.2.2 声明类类型----引入 从数据类型谈起…… 2.2.2 声明类类型----引入 结构体类型的声明和定义 struct Student { int num; char name[20]; char sex; }; Student stud1,stud2; 2.2.2 声明类类型----引入 类是一个数据类型,它对应的变量就是对象; class WhoAmI{ public: void GetMyName(void);//名字是可以公开的 protected: void GetMyAsset(void);//财产是受保护的,只有我和继承者才可以使用 private: void GetMyGuilty(void);//罪过是要保密的,只有自己才能偷看 ... }; 类和结构体类型的异同 在C++语言中,结构体类型与类的唯一的区别在于: 类中的成员在默认情况下是私有的; 结构中的成员在默认情况下是公用的; 2.5 类和对象的简单应用举例 #include iostream using namespace std; class Time {public://数据成员是公有的 int hour; int minute; int sec; }; int main() { Time t1; cint1.hour; cint1.minute; cint1.sec; coutt1.hour:t1.minute:t1.secendl; Time t2; cint2.hour; cint2.minute; cint2.sec; coutt2.hour:t2.minute:t2.secendl; return 0; } 2.5 类和对象的简单应用举例 #include iostream using namespace std; class Time {public://数据成
文档评论(0)