C++面向对象程序设计 曹静 第04章 类与对象

C++面向对象程序设计 曹静 第04章 类与对象

ID:40238302

大小:939.00 KB

页数:71页

时间:2019-07-28

C++面向对象程序设计 曹静 第04章 类与对象_第1页
C++面向对象程序设计 曹静 第04章 类与对象_第2页
C++面向对象程序设计 曹静 第04章 类与对象_第3页
C++面向对象程序设计 曹静 第04章 类与对象_第4页
C++面向对象程序设计 曹静 第04章 类与对象_第5页
资源描述:

《C++面向对象程序设计 曹静 第04章 类与对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章类与对象4.1面向对象程序设计的基本特点4.2建立类与对象4.3构造函数和析构函数4.4类的作用域和对象的生存期4.5类的静态成员4.6常类型4.7数组、指针与对象4.8类的组合2021/8/15C++面向对象程序设计第四章类与对象4.9友元项目设计3面向对象程序设计中类的应用2021/8/15C++面向对象程序设计4.1面向对象程序设计的基本特点4.1.1抽象4.1.2封装4.1.3继承4.1.4多态2021/8/15C++面向对象程序设计4.1.1抽象抽象是面向对象程序设计的基本原则之一,抽象与具体相对应。一个汽车的型号就是抽象,它代表

2、了某个汽车的一切属性,包括最大时速,车身长度,全车净重等。抽象就是对具体事物的概括。在现实中,为了减少必须处理的事情,我们是在某一程度的细节中生活的。在面向对象程序设计中,这种细节程度就叫抽象。2021/8/15C++面向对象程序设计4.1.2封装在面向对象程序设计中抽象可以表示它所描述事物的所有属性和操作,将抽象得到的数据和操作相结合,形成一个有机的整体,就叫做封装。在C++中,是利用类(class)的形式来实现封装的,可以通过封装,将一部分操作或属性作为类与外部的接口,将其他成员隐蔽起来,以达到对数据访问权限的合理控制,使程序中不同部分之间的

3、相互影响减到最低限度。2021/8/15C++面向对象程序设计4.1.2封装封装可以将数据和代码组织为一个可重用的C++类,在编写代码的时候就可以有效利用已有的成果。在C++中如果以电视为例进行抽象并封装的话,可以得到如下代码:classTelevision//class关键字类名{//边界public://外部接口voidSetChannel(intChannelNum);//行为,代码成员voidShutDown();//行为,代码成员private://特定的访问权限intCurrentChannel;//属性,数据成员};2021/8/1

4、5C++面向对象程序设计4.1.3继承继承是面向对象程序设计中的一种重要机制,该机制自动的将一个类中的操作和数据结构提供给另一个类,这使得程序员可以使用已有类的成分来建立新类。C++语言中可以让你声明一个新类作为另一个类的派生。派生类(也叫子类)继承其父类的属性和操作。子类也声明了新的操作和属性,除去了一些不适合于自身用途的继承下来的操作和属性。这样,继承可以让你重用父类的代码,专注于子类代码的编写。2021/8/15C++面向对象程序设计4.1.3继承对地球上的各种生物进行抽象,将可以得到如下形式的继承关系图:2021/8/15C++面向对象程

5、序设计4.1.3继承在面向对象程序设计方法出现以前,在标准的C函数库中,基本上不能找到可重用的代码部件。如果一个程序员已经开发了一些程序,现在要开发一个新的程序,实际上不可能用到先前程序中的代码部件,通常这些部件都要修改。继承可以使已存在的类在不用修改的情况下适应新的应用,掌握C++面向对象程序设计所有方面的关键就在于理解继承。2021/8/15C++面向对象程序设计4.1.4多态多态,是指类中具有相似功能的不同函数使用同一个名称来实现。以绘图程序为例子,函数可以对一般图形进行操作,而不关心它们是圆、正方形还是三角形。所有的图形都能被绘制、擦除和

6、移动,所以这些函数能简单地发送消息给一个图形对象,而不考虑这个对象如何处理这个消息。C++中,多态是通过虚函数来实现的。2021/8/15C++面向对象程序设计4.2建立类与对象4.2.1类的声明与实现4.2.2类成员的访问控制4.2.3类的成员函数4.2.4对象的建立与使用2021/8/15C++面向对象程序设计4.2.1类的声明与实现面向对象程序设计方法的核心是类,利用它可以实现对数据和方法的封装,通过类的继承,能够实现对问题的深入抽象描述。类相当于一种用户自定义的类型,它和前几章提到的基本类型,如浮点型、整形,有类似的特征。2021/8/1

7、5C++面向对象程序设计4.2.1类的声明与实现这里还是以电视为例,声明一个类来描述电视。classTelevision{public:voidSetChannel(intChannelNum);voidShutDown();voidTurnOn();private:intCurrentChannel;boolIsOpen;};2021/8/15C++面向对象程序设计4.2.1类的声明与实现在类的声明中只声明了函数的原形,函数的实现可以在类外定义:voidTelevision::SetChannel(intChannelNum){……..//这里

8、为设置频道相关代码CurrentChannel=ChannelNum;}voidTelevision::ShutDown(){……../

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。