- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C ++ Primer Plus
BITS2008
10
chapter
对象和类
01-2
本章包括内容:
过程性编程和面向对象编程。
类概念。
如何定义和实现类。
公有类访问和私有类访问。
类的数据成员。
类方法(类函数成员)。
创建和使用类对象。
类的构造函数和析构函数。
Const成员函数。
This指针。
创建对象数组。
类作用域。
? 抽象数据类型
01-3
概 述
面向对象编程(OOP)是一种特殊的,设计程序的概念性方法,C++通过一些特性改进了C语言,使得用这种方法更容易。下面是最重要的OOP特性:
抽象。
数据隐藏。
多态。
继承。
代码的可重用性。
01-4
10.2 抽象和类 -
将变量声明为int或者float指针时,不仅仅是分配内存,还规定了可对变量执行的操作。指定基本类型完成了3项工作:
决定数据对象需要的内存数量。
决定如何解释内存中的位(long和float在内存中占用的为数相同,但将它们转换为数值的方法不同)。
决定可使用数据对象执行的操作或方法。
对于内置类型来说,有关操作的信息被内置到编译器中。但在C++中定义用户自定义的类型时,必须自己提供这些信息。付出这些劳动换来了实际需要鼎峙新数据类型的强大功能和灵活性。
01-5
10.2.2 C++中的类
类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。
?
?
下面来看一个表示股票的类。
首先,必须考虑如何表示股票。
可以将一股作为基本单元,定义一个表示一股股票的类。不过,这以为着需要100个对象才能表示100股,这是不现实的。
相反,可以将某人当前持有的某中股票作为一个基本单元,数据表示中包含他持有的股票数量。一种比较现实的方法是,必须记录最初购买价格和购买日期(用于计算纳税)等内容。
另外,还必须管理诸如拆股等事件。首先定义就考虑这么多因素就有困难,因此我们对其进行简化。具体地说,应该将可执行的操作限制为:
01-6
10.2.2 C++中的类
获得股票。
增持。
卖出股票。
更新股票价格。
显示关于所持股票的信息。
可以根据上述清单定义stock类的公有接口(如果读者有兴趣,还可以增加其他特性)。
为支持该接口,需要存储一些信息。我们再次进行简化。例如,不考虑标准的美式股票计价方式(八分之一美元的倍数。
显然,纽约证券交易所一定看到过本书以前的版本中关于简化的论述,因为它已经决定将系统转换为书中采用的方式)。我们将存储下面的信息:
01-7
10.2.2 C++中的类
公司名称
所持股票数量。
每股价格
股票总值
一般来说,类的规范由两部分组成:
类声明:以数据成员方法描述的数据部分,以成员函数的方法描述的公有接口。
类方法定义:描述如何实现类成员函数
01-8
10.2.2 C++中的类
一般来说,类规范由两个部分组成:
类声明:以数据成员的方式面熟数据部分,以成员函数(被称为方法)的方式描述公有接口。
类方法定义:描述如何实现类成员函数。
简单地说,类声明提供了类的蓝图,而方法定义则提供了细节。
01-9
10.2.2 C++中的类
什么是接口 :
接口是一个共享框架,供两个系统(如在计算机和打印机之间或者用户或者计算机程序之间)交互时使用:
例如,用户可能是您,而程序可能是字处理器。使用字处理器时,您不能直接将脑子中想到的词传输到计算机内存中,而必须同程序提供的接口交互。
您敲打键盘时,计算机将字符显示到屏幕上;您移动鼠标时,计算机移动到屏幕上的光标;您无意间单击鼠标时,计算机对您输入的段落进行奇怪的处理。
程序接口将您的意图转换为存储在计算机中的具体信息。
01-10
10.2.2 C++中的类
对于类,我们说公共接口。在这里,公众(public)是使用类的程序,交互系统由类对象组成,而接口由编写类的人提供的方法组成。接口让程序员能够编写与类对象交互的代码,从而让程序能够使用类对象。
?
例如,要计算string对象中包含多少个字符,您无需打开对象,而只需使用string类提供的size()方法。
类设计禁止公共用户直接访问类,但公众可以使用size()方法。size()方法是用户和string类对象之间的公共接口的组成部分。
通常,方法getline()是intream类的公共接口的组成部
分,使用cin的程序不是直接与cin对象内部交互来读取一行输入,而是使用getline()。
01-11
10.2.2 C++中的类
如果希望跟人性化,不要将使用类的程序视为公共用户,而将编写程序的人视为公共用户。
然而,要使用某个类,必须了解其公共接口;要编写类,必须创建其公共接口。
类设计尽可能将公有接口与现实细节分开。公有接口表示设计的抽象组件。
将现实细节放在一起并将它们与抽象分
您可能关注的文档
- bio-rad cfx manager软件操作指南.docx
- biee基础流程介绍_安装篇.doc
- bipap harmony 呼吸机中文说明.doc
- bits v2硬件原理胶片-c.ppt
- bl2000串行控制系统参数设置.ppt
- blue为东芝系统级芯片开发freeview.doc
- bipap呼吸机无创通气.ppt
- brainproducts脑电数据采集.docx
- britannia_rues_the_waves大不列颠望洋兴叹.ppt
- bwd(塑壳)干式变压器电脑温度控制仪.docx
- 《GB/T 17737.9-2024同轴通信电缆 第9部分:柔软射频同轴电缆分规范》.pdf
- GB/T 17737.9-2024同轴通信电缆 第9部分:柔软射频同轴电缆分规范.pdf
- 中国国家标准 GB/T 17737.9-2024同轴通信电缆 第9部分:柔软射频同轴电缆分规范.pdf
- GB/T 44003-2024力学性能测量 REBCO涂层导体(镀铜)脱层强度测试方法.pdf
- 中国国家标准 GB/T 44021.2-2024音视频及相关设备 功耗测量 第2部分:测试信号和媒介.pdf
- 《GB/T 44021.2-2024音视频及相关设备 功耗测量 第2部分:测试信号和媒介》.pdf
- GB/T 44021.2-2024音视频及相关设备 功耗测量 第2部分:测试信号和媒介.pdf
- GB/T 43962.1-2024动力电池数字化车间集成 第1部分:通用要求.pdf
- 2024广西南宁市江南区教育局面向南宁市公办学校招募中学支教志愿者88人笔试备考试题及答案解析.docx
- 2024广西合浦县山口镇人民政府公开招聘村级防贫监测信息员2人笔试备考试题及答案解析.docx
文档评论(0)