C面向对象程序设计ObjectOrientedProgramminginC课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C面向对象程序设计ObjectOrientedProgramminginC课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 ObjectOrientedProgramminginC 课件
- 资源描述:
-
1、1(C+)(C+)面向对象程序设计面向对象程序设计Object-Oriented Programming in C+刘荣香刘荣香课程课程综述综述 Course Overview2uC+概述lC+历史lC+标准lC+与C的关系l面向对象思想lC+优点l程序开发周期u课程内容和目标u课程意义u课程说明课程综述课程综述3Brief history of C+Brief history of C+u1972,AT&T,Bell Lab.Dennis Ritche,C programming languageu1980,Bell Lab.Bjarne Stroustrup,“C with Classes
2、”u1983,C+was developed by Bjarne Strostrup at AT&T Bell Laboratories u1985,the first commercial version of C+u1997,ANSI(American National Standards Institute)C+(standard C+)4C+C+之父之父 Bjarne Strostrup引入:类(Class)、虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)
3、、异常(exception)、RTTI、命名空间(name space)5ANSI/ISO C+standardANSI/ISO C+standard(ANSI/ISO C+ANSI/ISO C+标准)标准)uC+98 标准标准lC+标准第一版,1998年发布。正式名称为ISO/IEC 14882:199818。uC+03 标准标准lC+标准第二版,2003年发布。正式名称为ISO/IEC 14882:200319。uC+11 标准标准lC+标准第三版,2011年发布。正式名称为ISO/IEC14882:201120。uC+14标准标准lC+标准第三版,2014年发布。正式名称为ISO/IEC
4、14882:201421。uC+17 标准标准lC+标准第五版,2017年发布。正式名称为ISO/IEC 14882:201722。6C+C+与与C C的关系的关系uC语言是C+的基础。lC+对C的“增强”,表现在六个方面:类型检查更为严格 增加了面向对象的机制 增加了泛型编程的机制(Template)增加了异常处理 增加了运算符重载 增加了标准模板库(STL)l与C不兼容之处 C允许从void*隐式转换到其它的指针类型,但C+不允许7C+C+与与C C的关系的关系 C+定义了新关键字,例如new,classu最大区别:解决问题的思想方法不一样lC语言是结构化语言,关注过程(算法与数据结构)。
5、lC+是面向对象语言,关注对象(对象的属性和行为)。u比喻1:l面向过程是有一个“上帝之手”通过制定一系列规则来操纵一堆“死物”。l面向对象是把世界描绘成N个有主动性的“活物”之间的交互。8面向过程程序设计面向过程程序设计u面向过程程序设计/结构化程序设计DATAFunction 1Function 2Function Nl程序=数据+算法 procedural programl缺点:把数据和对数据的处理过程分离为相互独立的实体,导致(1)程序的可维护性差(2)程序的可重用性差9l面向对象程序=对象+消息Object 1Object 2Object 4Object 3sendingreceiv
6、ingDataFunctionAn objects representation object-oriented program面向对象程序设计面向对象程序设计10C+C+与与C C的关系的关系u比喻1:我从冰箱拿饮料l面向过程:定义各个变量三个分离的函数,并按序执行:f1(我的右手,冰箱):我右手打开冰箱;f2(我的左手,饮料):我左手拿出饮料;f3(我的右手,冰箱):我右手关上冰箱。l面向对象:定义一个对象“我”,发消息给“我”。对象:我 属性:左手,右手 方法:打开冰箱;拿出饮料();关上冰箱 发消息:我.打开冰箱;我.拿出饮料;我.关上冰箱。11C+C+与与C C的关系的关系u比喻2:
7、l面向对象是把世界描绘成N个有主动性的“活物”之间的交互。l面向过程是有一个“上帝之手”通过制定一系列规则来操纵一堆“死物”。12面向对象思想面向对象思想对象(对象(objects)objects)在现实世界中现实世界中,对象是我们认识世界的基本单元。它可以是人、物、一件事,整个世界就是由形形色色的“对象”构成的。对象可以是:*有形的具体存在的事物(physical objects)例如:一辆车、一个球、一个小学生;*无形的、抽象的事件(unphysical objects)例如:一次演出、一场球赛等。对象既可以很简单,也可以很复杂,复杂的对象可以由若干简单的对象构成。13 现实世界中的对象,
8、具有以下特性:(1)每一个对象必须有一个名字以区别其它对象;(2)用属性来描述对象的某些特征;(3)有一组操作,每一个操作决定对象的一种行为;(4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。在现实世界中对象可以表示为:属性+行为 行 为 对象 属 性思想思想C+中1414attributebehaviordatafunctionobject(method)&|commonC+15 举例:对象名:录音机 对象的属性:生产厂家:SONY 机器编号:XXXX 出厂日期:2015.05.06 对象的行为:播放 录音 停止 倒带 静态特征静态特征动态特征动态特征使用对象
展开阅读全文