- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《高级语言C程序设计(第二版)》第七章类与对象
7.2 类和对象的说明 177
第七章 类与对象
类 (class)的概念是面向对象程序设计的核心概念。把数据和对象的操作
和处理封装在一个程序模块中的方法,可以说是人们积几十年程序设计实践的
经验总结。把程序以类的形式组织成若干模块,使其获得了最佳的结构特性,
类的概念的引入使程序设计技术发生了革命性的转变。从结构程序设计 (SP )
中以函数作为程序的基本模块转变为面向对象程序设计 (OOP )中,以类作为
程序的基本模块,这一变化使程序设计技术出现了质的飞跃。
类是对现实世界中客观事物的抽象,通常将众多的具有相同属性的事物归
纳、划分成为某个类。面向对象方法中的类,是对具有相同属性和行为的同一
类对象的抽象描述,其内部包括属性(本类的数据成员)和行为(本类的成员
函数)两个主要部分,即是说,类以数据为中心,把相关的一批函数组成为一
体。
类的概念抓住了程序的本质。程序的基本元素是数据,而函数是围绕数据
进行的处理和操作。抓住了数据这个“纲”,程序中关系复杂的各种函数就变得
脉络清楚,可以随着相应的数据组合成类。类的使用使得:
·程序设计本身更有条理了;
·程序的可读性更好了;
·程序设计的过程真正像是机器部件的组装;
·程序由多个程序员设计变得方便和自然;
·由于程序的零部件化,使得程序的可重用性变成切实可行的事情,等等。
引入了类 (class )和对象 (object)的概念,就使得C++语言与C 语言相
比发生了本质的变化。
class 和object 的概念在C++编程中所起的作用,可以从两个角度来分析。
第一,从程序的组织角度,C++通过class 把数据以及对这些数据进行处理
和运算的函数封装为互相关联的程序模块,通过对象(也即类实例,或自定义
类类型的变量)及相关方法与手段对所定义的类进行使用,这与C 和Pascal 等
语言把程序划分为具有互相调用关系的函数或过程是不同的。
第二,从数据类型的角度,C++通过class 引入了抽象数据类型的概念,一
个由数据成员和函数成员组成的类就是一种新的数据类型。C++语言为用户提
供了设计反映不同应用背景特征的千变万化的数据类型的可能性。
在C++程序中,程序员可以根据需要定义多种多样的数据类型:stack (栈),
queue (队列),set (集合),vector (向量),matrix (矩阵)等。
其它通用语言可能设置的类型,C++程序员都可以方便地定义。同时与具
体问题密切结合的类型也出现在C++程序中,如:windows (窗口),menu (菜
单),student (学生),employee (雇员),car (小汽车),elevator (电梯)等。
通过类与对象而实现的面向对象程序设计的三大特征是:封装性、继承性、
多态性。通过抽象对所要处理的问题进行划分、进行归类,通过类(class)类
型对所要处理的问题进行抽象描述,从而将逻辑上相关的数据与函数进行封装。
封装所进行的“信息隐蔽”为的是减少对象间的联系,提高软件的模块化程度,
增强代码的重用性。
通过类的继承,使新生成的所谓派生类可从其基类那里得到已有的属性(数
据)和行为特征(方法),从而可简化人们对事物的认识和描述。面向对象语言
通过继承机制很方便地实现了程序代码的可重用问题。
多态性是通过对函数和运算符进行重载以及通过在基类及其派生类间对虚
函数进行使用来具体体现的。多态性可使程序易于编制、易于阅读理解与维护。
本章介绍类与对象的说明及其相关使用,下一章将重点介绍继承性与多态
性方面的内容。
7.1设计一个栈类
为了学会 OOP 方法,首先让我们看看 C++程序中类及其对象是怎样工作
的。
栈 (stack )是程序设计过程中经常碰到的一种数据结构形式,它对于数据
的存放和操作有下面这样的特点:
(1)它只有一个对数据进行存入和取出的端口;
(2)后进者先出,即最后被存入的数据将首先被取出。其形式很像一种存
储硬币的小容器,每次只可以从顶端压入一个硬币,而取出也只可从顶端进行,
即后进先出。
这样
您可能关注的文档
- 2013年冬季安全环保专项自检自查问题汇总-基地处.ppt
- 2013年北京市平谷区中考一模语文试卷及答案.doc
- 2013年山东普通高考成绩分段表(1分1段).xls
- 2013年山东省成绩原始表(一分一档).xls
- 2013年山东高考分数段.xls
- 2013年山东高考成绩分数段表.xls
- 2013年河北省文理一分一档表.pdf
- 2013年温州市初中英语复习导引词汇表.xls
- 2013年秋化学期末知识素质测评.ppt
- 2013年高三7班第一次月考总结班会课PPT.ppt
- 【北京101中学内部】2011-2012学年第一学期期中分析.ppt
- 【岳麓版必修一】第三单元第10课——走向共和的艰难历程.pdf
- 【岳麓版必修一】第三单元第11课——民族国家的统一之路.pdf
- 【岳麓版必修一】第三单元第12课——综合探究:伏尔泰对英国政体的评价.pdf
- 【岳麓版必修一】第五单元第19课——马克思主义的诞生.pdf
- 【岳麓版必修一】第六单元第22课——巩固新生政权.pdf
- 【岳麓版必修一】第六单元第25课——祖国统一的历史潮流.pdf
- 【岳麓版必修一】第四单元第13课——鸦片战争(上).pdf
- 【岳麓版必修一】第四单元第14课——太平天国运动.pdf
- 【岳麓版必修一】第四单元第16课——辛亥革命(下).pdf
文档评论(0)