C++面向对象程序设计 第3章 面向对象编程基础 3.0 面向对象的思想 3.1 面向对象程序设计的基本特点 3.2 建立类与对象 3.3 构造函数和析构函数 3.4 类的作用域和对象的生存期 3.5 类的静态成员 3.6 常类型 3.7 数组、指针与对象 3.8 类的组合 第四章 类与对象 3.9 友元 项目设计3 面向对象程序设计中类的应用 3.0 面向对象的思想 面向过程的程序设计方法 面向对象的程序设计方法 对象与消息 消息的组成部分 类与对象的关系 3.1 面向对象程序设计的基本特点 3.1.1 抽象 3.1.2 封装 3.1.3 继承 3.1.4 多态 3.1.1 抽象 抽象是面向对象程序设计的基本原则之一,抽象与具体相对应。 一个汽车的型号就是抽象,它代表了某个汽车的一切属性,包括最大时速,车身长度,全车净重等。抽象就是对具体事物的概括。 在现实中,为了减少必须处理的事情,我们是在某一程度的细节中生活的。在面向对象程序设计中,这种细节程度就叫抽象。 数据抽象与代码抽象 3.1.2 封装 在面向对象程序设计中抽象可以表示它所描述事物的所有属性和操作,将抽象得到的数据和操作相结合,形成一个有机的整体,就叫做封装。 在C++中,是利用类(class)的形式来实现封装的,可以通过封装,将一部分操作或属性作为类与外部的接口,将其他成员隐蔽起来,以达到对数据访问权限的合理控制,使程序中不同部分之间的相互影响减到最低限度。 封装的二层含义 B 3.1.2 封装 封装可以将数据和代码组织为一个可重用的C++类,在编写代码的时候就可以有效利用已有的成果。 在C++中如果以电视为例进行抽象并封装的话,可以得到如下代码: 3.1.3 继承 B继承是面向对象程序设计中的一种重要机制,该机制自动的将一个类中的操作和数据结构提供给另一个类,这使得程序员可以使用已有类的成分来建立新类。 C++语言中可以让你声明一个新类作为另一个类的派生。派生类(也叫子类)继承其父类的属性和操作。子类也声明了新的操作和属性,除去了一些不适合于自身用途的继承下来的操作和属性。这样,继承可以让你重用父类的代码,专注于子类代码的编写。 3.1.3 继承 对地球上的各种生物进行抽象,将可以得到如下形式的继承关系图: 3.1.3 继承 在面向对象程序设计方法出现以前,在标准的C函数库中,基本上不能找到可重用的代码部件。如果一个程序员已经开发了一些程序,现在要开发一个新的程序,实际上不可能用到先前程序中的代码部件,通常这些部件都要修改。 继承可以使已存在的类在不用修改的情况下适应新的应用,掌握C++面向对象程序设计所有方面的关键就在于理解继承。 3.1.4 多态 B多态,是指类中具有相似功能的不同函数使用同一个名称来实现。 以绘图程序为例子,函数可以对一般图形进行操作,而不关心它们是圆、正方形还是三角形。所有的图形都能被绘制、擦除和移动,所以这些函数能简单地发送消息给一个图形对象,而不考虑这个对象如何处理这个消息。 B C++中,多态是通过函数重载和虚函数来实现的。 3.2 建立类与对象 3.2.1 类的声明与实现 3.2.2 类成员的访问控制 3.2.3 类的成员函数 3.2.4 对象的建立与使用 3.2.1 类的声明与实现 面向对象程序设计方法的核心是类,利用它可以实现对数据和方法的封装,通过类的继承,能够实现对问题的深入抽象描述。 类相当于一种用户自定义的类型,它和前几章提到的基本类型,如浮点型、整形,有类似的特征。 B定义类的一般格式如下: class 类名 { private: [私有数据和函数] public: [公有数据和函数] }; 各个成员函数的实现 类中的数据和函数是类的成员,分别称为数据成员和成员函数。 public类成员,是公有的,能被外面的程序访问; private类成员,是私有的,只能由类中的函数所使用,而不能被外面的程序所访问。 各个成员函数的实现是类定义中的实现部分,这部分包含所有在类体中声明的函数的定义。 当类的成员函数的函数体在类的外部定义时,必须由作用域运算符“::”来通知编译系统该函数所属的类。 3.2.1 类的声明与实现 这里还是以电视为例,声明一个类来描述电视。 3.2.1 类的声明与实现 (1)在类的声明中只声明了函数的原形,函数的实现可以在类外定义: 3.2.1 类的声明与实现 3.2.1 类的声明与实现 下面再以一个简单例子说明,如何在C++程序中使用一个定义好的类: 这样,我们完成了一次对Television类的使用。首先声明了Television类的变量,也就是完成了Television类的实例化;然后通过类的变量调用类中的成员函数完成相应功能。 3.2
您可能关注的文档
- 第2章 音频信息处理.ppt
- 第2章 IP技术.ppt
- 第2章 TCPIP协议.ppt
- 第2章 多媒体技术概述.ppt
- 第02章 逻辑门电路.ppt
- 第2章 通信工程概预算-定额及使用说明.ppt
- 第2章 通信与网络.ppt
- 第02章 微机接口技术2.ppt
- 第2章 音频信息的获取和处理.ppt
- 第2章__信息处理.ppt
- GB/T 42818.2-2026认知无障碍 第2部分:报告.pdf
- 中国国家标准 GB/T 47116-2026地下采矿机械 工作面移动式采掘机械 采煤机和犁式系统的安全要求.pdf
- 《GB/T 47116-2026地下采矿机械 工作面移动式采掘机械 采煤机和犁式系统的安全要求》.pdf
- 中国国家标准 GB/T 42818.2-2026认知无障碍 第2部分:报告.pdf
- 《GB/T 42818.2-2026认知无障碍 第2部分:报告》.pdf
- 《GB/T 27664.1-2026无损检测仪器 超声检测设备的性能与检验 第1部分:仪器》.pdf
- 中国国家标准 GB/T 27664.1-2026无损检测仪器 超声检测设备的性能与检验 第1部分:仪器.pdf
- GB/T 27664.1-2026无损检测仪器 超声检测设备的性能与检验 第1部分:仪器.pdf
- GB/T 45305.5-2026声学 建筑构件隔声的实验室测量 第5部分:测试设施和设备的要求.pdf
- 中国国家标准 GB/T 45305.5-2026声学 建筑构件隔声的实验室测量 第5部分:测试设施和设备的要求.pdf
最近下载
- 高等机构学01螺旋理论基础讲义.ppt
- 基于plc的清洗消毒机控制系统设计 .pdf VIP
- 发明专利说明书范例.pdf VIP
- 人教版英语中考九年级话题复习中国传统节日Chinesetraditionalfestivals教学设计.docx VIP
- 四年级道德与法治下册第一单元单元整体教学设计.pdf VIP
- 进修汇报医生课件课件.pptx VIP
- 03G102钢结构设计制图深度和表示方法(高清版) (OCR).pdf VIP
- 基于三菱PLC的自动洗碗机控制系统设计.doc VIP
- 下肢深静脉血栓形成介入治疗护理实践指南(2025)解读PPT课件.pptx VIP
- 南京新港东区建设发展有限公司南京龙潭新城花园路等13条道路及花园河等4条河道工程项目环评报告表(报批稿).pdf VIP
原创力文档

文档评论(0)