- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§1 面向对象的基本概念和特征 1. 对象(Object) 指将数据(内部状态)和使用这些数据的一组基本操作(行为)封装在一起的统一体。 对象有时指一个事物,称实例(instance)有时指一组类似的事物,称对象类(class) 2. 信息隐藏 将一个模块的内部数据或操作隐藏起来,其他模块只能通过该模块提供的公开操作来访问该模块 信息隐藏由封装机制来实现。 3.封装 : 用两种方法实现 (1) 文件模块 例子:采用文件模块来封装,实现循环计数器功能 此程序共包括2个源程序以及1个头文件 CIRNUM1.H 头文件仅包含循环计数器对外公开的函数原型,不涉及内部数据与函数定义; CIRNUM1.C该源程序是循环计数器的实现文件,以.CPP作为后缀名字,包括了内部数据及函数定义。文件中引用CIRNUM1.H :#include cirnum1.h CIRDEMO1.CPP 该源程序包括主函数,使用循环计算器 (2) 类:用类实现封装 C++语言通过建立一个合适的循环计数器类,将这些数据与函数结合在一起,形成一个新的数据类型,称为类类型。 4. 类与类的层次结构 具有一致数据结构(属性)和行为(操作)的对象可归并为一个类 层次结构: 上层称超类(基类、父类) 下层称子类(派生类) 5.类的特征 继承性 具有层次关系的类的属性和操作进行共享的方式,后代类可以继承祖先类的各种性质 多态性 同一名字,多种语义;或相同界面,多种实现 如:一个函数名代表了多种函数的实现 §2 类的定义一、类声明 类是对一群具有相同属性、表现相同行为的对象的描述 类的一般形式 : class 类名 { public: 公有数据和函数 private: 私有数据和函数 }; 类中定义的数据(变量)称为数据成员类中定义的函数(行为操作)称为成员函数 例:循环计数器类 class CIRCULAR_NUMBERS { public: void set_mode(int min, int max) {// 设置循环计数器的上、下限 min_val = min; max_val = max; return; } void set_value(int value) {// 设置循环计数器的当前值 current = value; return; } int get_value() {// 查询循环计数器的当前值 return current; } 说明 类的数据成员允许是任何数据类型,但不能是本类类型的。正在定义的类名只可以以指针形式声明自己类中的数据成员(与结构体struct类似) class Link { class Link { Link member; Link *member; …… …… }; }; 类中的数据成员不允许使用初值表达式 class CIRCULAR_NUMBERS { … private: int min_val ; int max_val ; … }; 类中的数据成员不允许使用auto,register,extern修饰,但允许使用static修饰,得到静态数据成员:供该类的所有对象公用 在类中 const 的使用 const修饰数据成员:用于声明类中的一个常量数据成员。由于类的数据成员在声明时不能有初值表达式,因此类的常量数据成员在声明时不能指定常量值。 class C { const double PI ; …… }; const修饰成员函数:常量成员函数,常量成员函数中不允许修改本类数据成员的值。 class C { int get_value() const { …… } }; 二、类成员的访问控制 指明成员的可访问性 私有段:由private标记的段 段内的数据成员和成员函数称为私有成员,仅能由该类中的成员函数来访问,即仅可在成员函数定义中使用私有成员的名字。 公有段:由public标记的段 段内的数据成员和成员函数称为公有成员,为该类提供与外部世界的接口界面,即可在类内也可在类外访问。 类中每一个成员都有访问控制属性,若没有明确指明,成员的访问控制方式缺省为private。 三、类界面与类实现 类的成员函数可以在类内定义,也可以在类外定义。 类界面:头文件 *.h声明类,包括类的所有数据成员,以及成员函数的原型 类实现:源程序 *.cpp首先要包含类界面:#include “*.h”然后定义成员函数,由
原创力文档


文档评论(0)