第03章 面向对象编程基础指导.pptVIP

  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++面向对象程序设计 第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

文档评论(0)

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

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

1亿VIP精品文档

相关文档