第十章 类与对象.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 类与对象

第十章 类与对象 C++语言是当今应用最广泛的程序设计语言,它与C 语言兼容,既支持面向对象的程序设计, 也支持面向对象的程序设计方法。在前面的章节中,我们编写的程序是由一个个函数组成的, 可以说是结构化的程序。从本章开始,我们编写的程序是由对象组成的,也就是说,将要学 习用C++语言进行面向对象的程序设计。 什么叫类,什么叫对象?我们已经知道什么叫变量。假定我们在main 函数中定义了一 个整型变量nInteger: void main() { int nInteger; … } 则在main 函数中为nInteger 分配栈内存,保存变量nInteger 的值,并在main 返回时, 释放该内存。在面向对象的程序设计中,nInteger 也称之为对象。所谓对象就是一个内存区, 它存储某种类型的数值,变量就是有名的对象。对象除可以用上述定义的方法来创建外,也 可以用new 表达式创建,也可能是应用程序运行时临时创建的,例如,在函数调用和返回 时,均会创建临时对象。 对象是有类型的,例如,我们上面定义的nInteger 对象就是整型的。一个类型可以定义 许多对象,一个对象有一个确定的类型,可以这么说:int 型变量是int 类型的实例。以后, 我们也常说:对象是类的实例,那么int 是不是一个类呢? 实际上,我们所说的类,并非指C++ 中的那些基本的数据类型。C++ 中引入了class 关键 字来定义类,它也是一种数据类型。类是C++支持面向对象的程序设计的基础,它支持数据 的封装、隐藏等。类与我们前面学习过的结构类似,实际上C++ 中也可以用struct 关键字来 定义类(虽然很少使用)。 我们前面学习的结构中,只有数据成员。实际上,类中除可以定义数据成员外,还可以 定义对这些数据成员(或对象)操作的函数,也正是这些函数限制了对对象的操作,即不能 对对象进行这些操作函数之外的其它操作,类的成员也有不同的访问权限。下面,我们将要 介绍怎样定义类及类的成员。 我们的周围是一个真实的世界,不论在何处,我们所见到的东西都可以看成是对象。人、 动物、工厂、汽车、植物、建筑物、割草机、计算机等等都是对象,现实世界是由对象组成 的。 对象多种多样,各种对象的属性也不相同。有的对象有固定的形状,有的对象没有固定 的形状,有的对象有生命,有的对象没有生命,有的对象可见,有的对象不可见,有的对象 会飞,有的对象会跑,有的对象很高级,而有的对象很原始,…。各个对象也有自己的行为, 例如:球的滚动、弹跳和缩小,婴儿的啼哭、睡眠、走路和眨眼,汽车的加速、刹车和转弯, 等等。但是,各个对象可能也有一些共同之处,至少它们都是现实世界的组成部分。 人们是通用过研究对象的属性和观察它们的行为而认识对象的。我们可以把对象分成很 多类,每一大类中又可分成若干小类,也就是说,类是分层的。同一类的对象具有许多相同 的属性和行为,不同类的对象可具有许多相同的属性和类似的行为,例如:婴儿和成人,人 和猩猩,小汽车和卡车、四轮马车、冰鞋等等都有共同之处,类是对对象的抽象。 在C++ 中,就是用类来描述对象的,类是对现实世界的抽象得到的。例如,在真实世界 中,同是人类的张三和李四,有许多共同点,但肯定也有许多不同点。当用C++描述时,相 同类的对象具有相同的属性和行为,它把对象分为两个部分:数据(相当于属性)和对数据 的操作(相当于行为)。我们刻画张三和李四的数据可能用姓名、性别、年龄、职业、住址 等,而对数据的操作可能是读或设置它们他们的名字、年龄等。 从程序设计的观点来说,类就是数据类型,是用户定义的数据类型。这种类型的使用虽 然与C++ 内置的数据类型类似,但是也有很大的区别。例如,C++ 内置的浮点类型并不针对 任何具体问题,仅仅与机器的存储单元相对应,而类是用户根据具体问题的需要而定义的, 也就是说,类与具体问题相适应。我们可以通过定义所需要的类,来扩展程序设计语言解决 问题的能力。 当我们把现实世界分解为一个个的对象,解决现实世界问题的计算机程序也与此相对应, 由一个个对象组成,这些程序就称为面向对象的程序,编写面向对象程序的过程就称为面向 对象的程序设计(Object-Oriented Programming,简称为OOP )。OOP 技术能够将许多现实的 问题归纳成为一个简单解,支持OOP 的语言也很多,C++是应用最广泛的、支持OOP 的语 言,第一个成功的支持OOP 的语言是Smalltalk 。 面向对象

文档评论(0)

jiupshaieuk12 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档