高质量C++编程 1.类和对象.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高质量C编程1.类和对象

高质量C++编程 ——类和对象 项目需求 我们的项目中,GCPtr 类维护着一个将引用 计数和申请所得的内存连接起来list,其中的每 个元素都被封装在GCInfo 对象中,以协助 GCPtr 类。其结构如右图所示: 针对这个需求,我们需要学习“类封装”、 “构造函数/拷贝构造函数/析构函数”、“静态 成员”、“引用计数”、“类聚集”、“资源 指针”、“const成员”等知识。 封装 所谓封装,是将一些散乱的东西打包,对外成为一个整体。 比如,工具箱、抽屉、文具盒、集装箱、垃圾箱… 对于C++语言,则是将事物抽象出来的数据、代码结合,作 为一个整体加以包装。因为完全开放的数据结构容易受到 伤害,是不安全的。 封装的目的是增强安全性和简化编程,使用者不必了解具体 的实现细节,只需要通过对外接口,以特定的访问权限使 用其中的成员即可。 “数据保护—— 限定访问”即为类设计的目的,就是封装的 真谛。 抽象 抽象是对具体对象(问题)进行概括,抽出这一种类对象的 公共性质并加以描述的过程。抽象是设计类的思维先导。 集中注意力,只关注问题中那些在当前背景下最为重要的部 去粗取精,由表及里; 分,不被事物的枝尾末节所干扰。 去掉个性,保留共性。 先关注问题的本质及描述,其次关注实现过程或细节。 数据抽象:描述某种类对象的属性或状态(对象相互区别的 特征量)。 代码抽象:描述某类对象的共有的行为特征或具有的功能。 抽象的实现:通过C++语言的类定义。 类 人们用对象的观点将同一种类的实体加以抽象:描述该实体的 共有的属性(对象相互区别的特征量)以及行为特征。这种 抽象的实现造就了类,从而奠定了真正意义上的面向对象程 序设计。 类是有着共同特征与行为、而状态各不相同的物体的总称。 对象是类的实现,是类的代码实体。 类是表现数据高级形态的有力工具。 类的产生基础是封装。 类定义了一层新的作用域。 类定义通常在.h 文件内,成员的实现通常在.cpp文件内(也有 例外的情况)。 类是一种类型 用C++术语来表达:类是一种程序员开发的新类型。 数据成员在对象中的安排:定义在先排列在先、父类在先子类 在后、多继承时继承列表中先写的排在先。 函数成员则定义了、限定了该类型所具有的行为。 由于所有的运算符是语言已定义过的,只适用于基本类型,所 以,对于类类型都不适用(除了少数几个类默认的操作外) , 用户凡要使用都要重新定义它们——运算符重载。 这样看来,类类型不同于基本类型,但编译器会将其与基本类 型一视同仁,都是类型。 类类型是封装的直接产物,而且还向继承、多态等领域延伸。 成员函数的书写规则 类成员可以是数据、函数或类型别名(稍后有代码实例)。 函数成员可以仅在类中说明原型,在类外给出函数实现,也 可以直接在类中给出函数体,形成成员函数的隐含内联。 允许成员函数为重载函数或带默认参数值的函数。 对成员数据的使用不再遵循“先声明后使用”的原则,即可 以放置在类中任意位置,访问它的成员函数也可以放在类 中任意位置。 凡被调用的成员函数一定要有函数实现。 P 类的深入知识 下面来讨论几个概念: 1. 类的作用域; 2. 类内访问和类外访问; 3. 类的几种用户; 4. 隐含的指针this 。 不要忽视这些“虚”的东 西,它们直接影响到编码。 类作用域 每个类都定义了自己独有的新作用域和唯一的作用域名。 在类的定义体内声明类成员,将成员名引入本类的作用域中。 不同的类具有不同的类作用域。 类作用域恰恰是封装的重要体现。 类作用域并不像函数作用域或块作用域那样容易观察到边界, 一般地说,我们可以把类的作用域视为三部分组成: 类定义部分{ } ; 以此为基础来理解、区 类外成员函数定义时的形参表部分; 分“类内” “类外”。 类外成员函数定义时的函数体部分。 进入成员函数的形参表和函数

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档