- 1、本文档共59页,可阅读全部内容。
- 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++程序设计(第二版) 主编 杨长兴 刘卫国 中国水利水电出版社 6.1 从面向过程到面向对象6.1.1 面向对象程序设计的基本概念1.对象对象(Object)是面向对象程序设计的核心,是程序的主要组成部分,一个程序就是一组对象的总和。对象是由数据及对数据进行处理的方法和行为组成的。换言之,对象是具有某种特殊属性(数据)和行为方式(方法)的实体。每个对象都有其自身的属性和行为。对同一类对象而言其对象的行为是相同的。但每个对象的属性(即状态)却是相对独立的。 2.类类是同一类型对象(具有相似行为的对象)的集合和抽象,是面向对象语言必须提供的由用户定义的数据类型,它将具有相同状态、行为和访问机制的多个对象抽象成一个类。定义类之后,属于这种类的一个对象称为类实例或类对象。类代表一般,而类的一个对象代表具体,描述了属于该类型的所有对象的性质。 3.消息和方法所谓消息(Message)就是用来请求对象执行某一处理或回答某些信息的要求,消息统一了数据和控制流。程序的执行是靠对象间消息的传递来完成的。方法(Method)是类的行为属性的总称,是允许作用于该类对象上的各种操作。一个类可以有多个方法,表示该类所具有的功能和操作,通过对象调用类中的方法就可以改变对象域中变量的值。 4.面向对象的基本特征(1)封装性。封装性(Encapsulation)是指把对象属性和操作结合在一起,构成独立的单元,它的内部信息对外界是隐蔽的,不允许外界直接存取对象的属性,只能通过有限的接口与对象发生联系。 (2)继承性。类的继承性(Inheritance)指的是从已有的一个类可以构造新的类,使得新类具有原类的所有特性,并且新类还可以增加一些新的特性。继承反映的是类与类之间抽象级别的不同,使得程序设计人员可以在已有的类的基础上定义和实现新类,所以有效地支持了软件组件的复用,使得当需要在系统中增加新特征时所需的新代码最少。 (3)多态性。对象根据接收的消息而做出动作,同样的消息被不同的对象接收时可导致完全不同的行动,这种现象称为多态性(Polymorphisn)。多态性机制不仅增加了面向对象软件系统的灵活性,进一步减少了信息冗余,而且显著地提高了软件的可重用性和可扩充性。 6.2.1 C++面向对象程序的结构一个面向对象的C++程序一般由类的声明和类的使用两部分组成。类的使用部分一般由主函数和有关子函数组成。 以下是一个典型的C++程序结构。#include iostreamusing namespace std;//类的定义部分class C{ int x,y,z; //类C的数据成员声明…f(){…}; //类C的成员函数声明…};//类的使用部分void main(){ C a; //建立一个类C的对象a…a.f(); //给对象a发消息,调用成员函数f()} 在C++程序中,程序设计始终围绕“类”展开。通过声明类,构建了程序所要完成的功能,体现了面向对象程序设计的思想。下面看一个具体的例子,直观地了解一下面向对象程序设计方法与结构化程序设计方法的区别。【例6.1】 类的应用示例。 6.2.2 类的定义在C++中,一个类指定一个独立的对象集合,该对象集合由组成该类的对象以及这些对象所允许的操作组成。 1.类的定义形式类定义的一般形式如下:class 类名{ public:数据成员或成员函数的定义private:数据成员或成员函数的定义protected:数据成员或成员函数的定义}; 2.类成员函数的定义对类的成员函数的定义通常有两种形式,一种是在类的定义中直接定义函数,一种是在类外定义。前面的例6.1就是在类内部实现成员函数,下面再看一个例子。【例6.2】 求 ,其中 。 按照类的定义形式,可以在类定义中只给出成员函数的原型,而在类外部定义具体的成员函数。这种成员函数在类外定义的一般形式如下:函数返回值的类型 类名::函数名(形参表){…(函数体)}其中双冒号::是作用域运算符,它指出该函数是属于哪一个类的成员函数。 6.2.3 对象的定义与使用1.对象的定义对象的定义形式如下:类名 对象名表;其中对象名表代表有多个对象名,各对象名之间以逗号分隔。 2.对象成员引用具体引用形式为:对象名.数据成员名对象名.成员函数名(实参表)【例6.3】 定义一个时钟类,类中有3个私有数据成员(Hour、Minute和Seco
您可能关注的文档
- C#桌面系统开发案例教程 教学课件 作者 李建青 第十章.ppt
- C#桌面系统开发案例教程 教学课件 作者 李建青 第四章.ppt
- C#桌面系统开发案例教程 教学课件 作者 李建青 第五章.ppt
- C#桌面系统开发案例教程 教学课件 作者 李建青 第一章.ppt
- C/C++程序设计教程电子教案 C语言程序设计1.ppt
- C/C++程序设计教程电子教案 C语言程序设计2.ppt
- C/C++程序设计教程电子教案 C语言程序设计3.ppt
- C/C++程序设计教程电子教案 C语言程序设计4.ppt
- C/C++程序设计教程电子教案 C语言程序设计5.ppt
- C/C++程序设计教程电子教案 C语言程序设计6.ppt
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)