C++01章.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++语言 陈文宇 (计算机学院) cwy@uestc.edu.cn 教材: 面向对象程序设计语言C++ (陈文宇)机械工业出版社 参考书: The C++ Programming Language Thinking in C++ (C++编程思想) 现代软件工程(科学出版社) 《UML对象设计与编程》(希望公司) 等等 第一章 引 论 面向对象的概念容易将问题空间直接映射到程序空间,为程序员提供了一种与传统结构程序设计十分不同的思维方式。 1.1 面向对象的目标 传统的程序设计方法是模块化(或结构化)的程序设计方法,步骤为: (1)整个软件系统功能逐步细化为多个小的功能—功能划分; (2)每个小的功能对应由一个模块(如函数,过程,分程序,子程序等)来实现; (3)多个模块合作完成较大的功能,所有模块的合作完成整个软件系统的功能。 对于传统的程序设计,在设计和实现(编程)阶段考虑的是模块,程序本身也是由模块构成的,称之为面向模块(面向过程)。 数据类型是一个抽象的概念,包含有一组数据的定义和一组对该组数据操作的定义。数据类型分为三种:简单数据类型,用户定义数据类型,抽象数据类型。 简单数据类型:语言本身提供的,如整型,包含有所有的整数和对整数的操作,对于一个整数的成分(二进制表示)是不可见的,也不可直接操作。 用户定义数据类型:以简单数据类型为基础,它包含的数据成分是多个简单数据类型的数据,可以对数据成分进行直接操作。 在高级程序设计语言的程序中,对于简单的和用户定义数据类型, 数据的定义和操作是分开的,只是在对数据进行操作时,需检查该操作是否符合对应的类型允许的操作(即类型检查)。 对于类型的使用,必须通过类型的实际例子(简称实例或实体,即原来所说的变量或常量)的使用来体现。 例如: int num; 抽象数据类型:在定义数据时,必须同时定义对数据的操作;它的成分(简单的或用户定义的数据类型的数据)是不可见的,也不可直接操作,必须通过类型提供的操作进行访问。 面向对象语言中的对象是“将某组数据和使用该组数据的一组基本操作或过程封装在一起,而成的一个实体”。实际上就是抽象数据类型的一个实例。 对象和抽象数据类型的关系,就像整型变量和整型数据类型的关系。 作为克服软件复杂性的手段,在面向对象中,利用了如下对象的性质: (1) 将密切相关的数据和操作封装起来定义为一个实体。 (2) 定义了一个实体后,即使不知道此实体的功能是怎样实现的,也能使用它们(这一点类似于库函数)。 1.2 面向对象语言的核心概念 面向对象的程序设计语言,最核心的概念是数据封装(抽象)、继承性和多态性。 1.2.1数据封装 抽象是指对于一个系统的简化描述。对于使用系统的人员,不会去关心该系统的组成和工作的原理;他们所关心的是该系统具有什么样的功能,如何去使用该系统(既系统提供什么样的接口,让人们使用)。 对于该系统的实现人员,需要关心的是该系统的一切情况。 抽象的原则,运用在计算机领域,称之为“信息隐蔽”原则;在面向对象的程序设计语言中,使用数据封装机制实现信息隐蔽。 数据封装将一组数据和与这组数据有关的操作集合封装在一起,形成一个能动的实体,称为对象。 用户不必知道对象行为的实现细节,只需根据对象提供的外部特性接口访问对象。 例 class Circle { float r; //半径 int x,y; //圆心 关于半径、圆心和圆的操作; }; 类的概念将一组数据和这组数据有关的操作集合封装在一起,建立了一个定义良好的接口,人们只关心其使用,不关心其实现细节。这反应了抽象数据类型的思想。 类本身还是一组对象共同属性和操作的抽象。类代表了一般性,而该类的每一个对象代表了具体性。 1.2.2继承 继承是面向对象语言的另一个重要的概念。在客观世界中,存在着整体和部分的关系(a part of )、一般和特殊的关系(is a 或 a kind of ),实现了重用性和扩充性。 A is a part of B. A is a kind of B. 例: 人与学生的关系(继承) 点与圆(心)的关系(包含) 点与多边形(顶点)的关系 将一个人当成对象,对于人的定义(如名字、年龄、性别等等)和对人的操作(取名字、打印一个人的各种信息等等)已经封装在Person类中了;下面将学生当成对象,学生是一类特殊的人,基本的信息和操作已经Person中定义过了,为

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档