公有成员-中科大继续教育学院.PPT

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

Object-Oriented Programming in C++ 第二章 类和对象 中国科大学继续教育学院 李艺 leeyi@ 第一章 C++的初步知识 第二章 类和对象 第三章 再论类和对象 第四章 运算符重载 第五章 继承与派生 第六章 多态性与虚函数 第七章 输入输出流 第八章 C++工具 2.1 面向对象程序设计方法概述 2.2 类的声明和对象的定义 2.3 类的成员函数 2.4 对象成员的引用 2.5 类和对象的举例 2.6 类的封装和信息的隐藏 2.1 面向对象程序设计方法概述 什么是面向对象的程序设计? 面向对象的程序设计(Object-Oriented Programming )和传统的结构化程序设计的思路完全不同。面向对象的程序设计和人们日常生活解决问题的思路是相似的。 比如,我们生产汽车时,不是顺序制造发动机,在设计制造底盘、车身、轮子。而是分别设计制造发动机、底盘、车身和轮子,最后组装在一起。组装时,各部件之间有联系,以便协调工作。例如,司机踩油门,就能调节油路,控制发动机的转速,就能驱动车轮。 2.1 面向对象程序设计方法概述 程序设计者的任务有两个:一是设计所需要的类和对象,即确定那些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以启动相关对象的操作。 编程者如同一个总调度,不断地向各个对象发出命令,让这些对象活动起来,完成指定的工作。 这就是面向对象的程序设计的基本思路。 2.1 面向对象程序设计方法概述 什么是对象(object)? 一个对象由一组“属性”和一组“行为”构成。并根据外界给它的消息进行相应的操作。系统中多个对象通过一定的渠道相互联系。 任何事物都可以看成一个对象。可以是自然物体,也可以是逻辑结构。我们以一个班级为例。一个班级作为对象,有两个要素:一是班级的静态特征,如班级所属的专业,学生人数、班主任姓名等,这种静态特征称为“属性”;另一个是班级的动态特征,如上课,体育比赛,开会等,称为“行为”。外界向班级发一个信息(如上课铃声,广播通知),我们称之为“消息”,班级就会发生一个操作(要么上课,要么开会) 2.1 面向对象程序设计方法概述 什么是C++对象? C++中,每个对象都由若干数据和若干函数组成。数据就是对象的“属性”,函数就是用来对数据进行的“操作”,以便实现某种功能。这种操作就是对象的“行为”,也叫“方法”。我们点击一下鼠标,按动键盘的一个按钮,就是给某个对象一个消息,系统回调用该对象中的函数进行操作。 比如长方形对象,其长和宽就是它的属性,调用该对象的一些函数,即向该对象传送一些消息,可以用来对其长、宽值进行加工计算,以实现求出面积、周长等功能。 2.1 面向对象程序设计方法概述 什么是对象封装(encapsulation )? 就是把对象的不乡让外界知道的属性和功能屏蔽起来,让外界看不见。封装有两个含义,一是将有关的数据和操作函数封装成一个基本单位,即对象内。各对象之间相互独立,互不干扰;二是将对象中的部分属性或功能对外隐蔽,只留少数接口向外公布,以接收外界信息。 对象封装的好处在于,降低了人们操作对象的复杂程度。使用对象的人,不必知道对象内部的实现细节,只需要了解外部功能就可以自如地操作该对象。 对象的行为由类的内部数据结构和相关的操作确定;外部行为通过操作接口实现。人们关心的就是操作接口所能提供的服务。 2.1 面向对象程序设计方法概述 什么是抽象(abstraction)? 将具有相同特性的事物归纳、集中成一个统一类型,称为抽象。比如,把张三,李四,王五归纳为一类,我们称之为“人”。 抽象的作用,是表示同类事物的本质。如果你会操作自己家的电视机,看到别人家里的电视机即使牌子不同,你也肯定会操作,因为所有电视机具有共同的特性。 C和C++中,数据类型就是对一批具体数据的抽象,整形数据就是所有整数的抽象。 “类”是“对象”的抽象,“对象”则是类的“特例”,或“具体表现形式”。 2.1 面向对象程序设计方法概述 什么是继承( inherit )? 生产汽车,一般不会从头开始设计,而是选择已有的某一型号汽车为蓝本,增加、修改一些功能就行了。 软件开发也是这样,我们已经有了一个名为“A”的类,还想建立一个名为“B”的类,而后者内容只是在前者的基础上增加了少量内容。我们显然不必重新设计一个新类B,只需要把A类拿过来,在此基础上添加新内容就可以了。这就是面向对象程序设计的继承机制。 C++提供继承机制,大大节省了编程工作量,这就是所谓“软件重用( software reusability )”的思想。对于大型软件的开发具有重要意义。 2.1 面向对象程序设计方法概述 什么是多态性(

文档评论(0)

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

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

1亿VIP精品文档

相关文档