第五章类与对象

第五章类与对象

ID:44979579

大小:557.50 KB

页数:63页

时间:2019-11-06

第五章类与对象_第1页
第五章类与对象_第2页
第五章类与对象_第3页
第五章类与对象_第4页
第五章类与对象_第5页
资源描述:

《第五章类与对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、程序设计是计算机学科的核心和灵魂程序设计基础第五章类与对象1类的作用类界面与类实现类成员的访问控制对象的创建静态数据成员构造函数与析构函数成员对象的初始化2§5.1类的引入实体:从属性与行为两个方面刻画一个实体现实世界实体例:银行账户、学生、传感器、…思维世界实体例:复数、矩阵、堆栈、…类:描述实体的抽象概念对象:对应于一个个具体实体3§5.1类的引入5.1.1循环计数器循环计数:00~3590、1~12数据定义:min_val、max_val、current函数设计:increment()、decrement()、set_mode()、get_value()、set_value4

2、§5.1类的引入5.1.1循环计数器保护内部数据:staticintmin_val;staticintmax_val;staticintcurrent;信息隐藏将一个模块的内部数据或操作隐藏起来,其他模块只能通过该模块提供的公开操作来访问该模块信息隐藏由封装机制来实现。在C语言中用文件作为模块来实现5§5.1类的引入5.1.1循环计数器用文件作为模块来实现封装CIRNUM1.Hpp//循环计数器头文件CIRNUM1.CPP//实现循环计数器6§5.1类的引入5.1.2循环计数器的讨论用文件作为循环计数器模块的好处:头文件作为模块界面,保护内部数据;应用程序不关心模块内部实现细节;便

3、于模块设计者修改实现方法和扩展新功能。不足:不够抽象,如定义三个记录角度、月份和时间的计数器;函数名冲突问题;模块修改必须重新编译。增加程序可靠性和可重用性7§5.1类的引入5.1.3类作为构造程序的基本单位类(class):构造程序的基本单位,将数据以及这些数据上的操作(函数)封装在一起。类成员(member):数据与函数C++类的作用:数据封装类型定义8§5.2类的定义5.2.1类声明类是对一群具有相同属性、表现相同行为的对象的描述,类声明的一般形式:class类名{public:公有数据和函数private:私有数据和函数};类中定义的数据(变量)称为数据成员类中定义的函数(

4、行为操作)称为成员函数9§5.2类的定义5.2.1类声明例:循环计数器类classCIRCULAR_NUMBERS{public:voidset_mode(intmin,intmax){//设置循环计数器的上、下限min_val=min;max_val=max;return;}voidset_value(intvalue){//设置循环计数器的当前值current=value;return;}intget_value(){//查询循环计数器的当前值returncurrent;}voidincrement(){//循环计数器加一intmode=max_val–min_val+1;cu

5、rrent=((current–min_val)+1)%mode+min_val;return;}voiddecrement(){//循环计数器减一intmode=max_val–min_val+1;current=((current–min_val)-1+mode)%mode+min_val;return;}private:intmin_val;//最小值intmax_val;//最大值intcurrent;//当前值};10§5.2类的定义5.2.1类声明说明:类的数据成员允许是任何数据类型,但不能是本类类型的。正在定义的类名只可以以指针形式声明自己类中的数据成员classLi

6、nk{classLink{Linkmember;Link*member;…………};};11§5.2类的定义5.2.1类声明类中的数据成员不允许使用初值表达式classCIRCULAR_NUMBERS{…private:intmin_val;intmax_val;…};类中的数据成员不允许使用auto,register,extern修饰,但允许使用static修饰,得到静态数据成员:供该类的所有对象公用=0=35912§5.2类的定义5.2.1类声明在类中const的使用const修饰数据成员:用于声明类中的一个常量数据成员。由于类的数据成员在声明时不能有初值表达式,因此类的常量数

7、据成员在声明时不能指定常量值。classC{constdoublePI;……};const修饰成员函数:常量成员函数,常量成员函数中不允许修改本类数据成员的值。classC{intget_value()const{……}};13§5.2类的定义5.2.2类成员的访问控制指明成员的可访问性私有段:由private标记的段段内的数据成员和成员函数称为私有成员,仅能由该类中的成员函数来访问,即仅可在成员函数定义中使用私有成员的名字。公有段:由public标记的段段内的数据成

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。