C++课件第9章类与对象1zhc.pdf

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课件第9章类与对象1zhc

第9章 类和对象 9.1 面向对象程序设计方法概述 9.2 类的声明和对象的定义 9.3 类的成员函数 9.4 对象成员的引用 9.5 类的封装性和信息隐蔽 9.6 类和对象的简单应用举例 9.1 面向对象程序设计方法概述 到目前为止,我们介绍的是C++在面向过程的程序 设计中的应用。对于规模比较小的程序,编程者可 以直接编写出一个面向过程的程序,详细地描述每 一瞬时的数据结构及对其的操作过程。但是当程序 规模较大时,就显得力不从心了。C++就是为了解 决编写大程序过程中的困难而产生的。 1. 对象 客观世界中任何一个事物都可以看成一个对象 (object) 。 对象可大可小。对象是构成系统的基本单位。 任何一个对象都应当具有这两个要素,即属性 (attribute)和行为(behavior),它能根据外界给的信 息进行相应的操作。一个对象往往是由一组属性和 一组行为构成的。一般来说,凡是具备属性和行为 这两种要素的,都可以作为对象。 在一个系统中的多个对象之间通过一定的渠道相互 联系,如图9.1示意。要使某一个对象实现某一种 行为(即操作),应当向它传送相应的消息。对象之 间就是这样通过发送和接收消息互相联系的。 图9.1 图9.2 在C++中,每个对象都是由数据和函数(即操作代 码)这两部分组成的,见图9.2 。数据体现了前面提到 的 “属性”,如一个三角形对象,它的3个边长就 是它的属性。函数是用来对数据进行操作的,以便 实现某些功能,例如可以通过边长计算出三角形的 面积,并且输出三角形的边长和面积。计算三角形 面积和输出有关数据就是前面提到的行为,在程序 设计方法中也称为方法(method)。调用对象中的函 数就是向该对象传送一个消息(message),要求该 对象实现某一行为(功能) 。 2. 封装与信息隐蔽 可以对一个对象进行封装处理,把它的一部分属性 和功能对外界屏蔽,也就是说从外界是看不到的, 甚至是不可知的。 这样做的好处是大大降低了操作对象的复杂程度。 面向对象程序设计方法的一个重要特点就是 “封装 性”(encapsulation),所谓 “封装”,指两方面的 含义:一是将有关的数据和操作代码封装在一个 对象中,形成一个基本单位,各个对象之间相对独 立,互不干扰。二是将对象中某些部分对外隐蔽, 即隐蔽其内部细节,只留下少量接口,以便与外界 联系,接收外界的消息。这种对外界隐蔽的做法称 为信息隐蔽(imformation hiding) 。信息隐蔽还有利 于数据安全,防止无关的人了解和修改数据。 C++的对象中的函数名就是对象的对外接口,外界 可以通过函数名来调用这些函数来实现某些行为 (功能) 。这些将在以后详细介绍。 3. 抽象 在程序设计方法中,常用到抽象(abstraction)这一 名词。抽象的过程是将有关事物的共性归纳、集中 的过程。 抽象的作用是表示同一类事物的本质。C和C++中 的数据类型就是对一批具体的数的抽象。 对象是具体存在的,如一个三角形可以作为一个对 象,10个不同尺寸的三角形是10个对象。如果这10 个三角形对象有相同的属性和行为,可以将它们抽 象为一种类型,称为三角形类型。在C++中,这种 类型就称为 “类(class)”。这10个三角形就是属于 同一“类”的对象。类是对象的抽象,而对象则是 类的特例,或者说是类的具体表现形式。 4. 继承与重用 如果在软件开发中已经建立了一个名为A 的 “类”, 又想另外建立一个名为B的 “类”,而后者与前者 内容基本相同,只是在前者的基础上增加一些属性 和行为,只需在类A 的基础上增加一些新内容即可。 这就是面向对象程序设计中的继承机制。利用继承 可以简化程序设计的步骤。 “白马”继承了 “马”的基本特征,又增加了新的 特征(颜色), “马”是父类,或称为基类, “白马” 是从 “马”派生出来的,称为子类或派生类。 C++提供了继承机制,采用继承的方法可以很方便 地利用一个已有的类建立一个新的类。这就是常说 的 “软件重用”(software reusability) 的思想。 5. 多态性 如果有几个相似而不完全相同的对象,有时人们要 求在向它们发出同一个消息时,它们的反应各不相 同,分别执行不同的操作。这种情况就是多态现象。 如,在Windows环境下,用

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档