ImageVerifierCode 换一换
格式:PPT , 页数:33 ,大小:1.12MB ,
文档编号:5100810      下载积分:25 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5100810.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(C面向对象程序设计ObjectOrientedProgramminginC课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

C面向对象程序设计ObjectOrientedProgramminginC课件.ppt

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 对象的行为:播放 录音 停止 倒带 静态特征静态特征动态特征动态特征使用对象

9、时只需知道它向外界提供的使用对象时只需知道它向外界提供的接口接口形式而不需要知道它的内形式而不需要知道它的内部是如何实现的。部是如何实现的。这样,不仅使得对象的使用变得非常简单、方便,而且具有很这样,不仅使得对象的使用变得非常简单、方便,而且具有很高的安全性和可靠性。高的安全性和可靠性。可见面向对象程序设计中的对象来源于现实世界,更接近人们可见面向对象程序设计中的对象来源于现实世界,更接近人们的思维。的思维。16l面向对象程序=对象+消息Object 1Object 2Object 4Object 3sendingreceivingDataFunctionAn objects represen

10、tation object-oriented program面向对象程序设计面向对象程序设计17u面向对象程序的主要特征lData abstraction(抽象)lData Encapsulation(封装)lInheritance(继承)lPolymorphism(多态)面向对象程序设计面向对象程序设计1818Mr.ZhangMr.LiMr.WangChineseabstractionAmericanJapaneseabstractionPersonData abstractionobjectsclassData abstraction(抽象)(抽象)19苹果、梨、桔子、香蕉.-水果抽象的过

11、程是将有关事物的共性归纳、集中的过程。20EncapsulationEncapsulation(封装)(封装)2121Data Encapsulation(封装)(封装)DataData abstractionsFunctionsbindingObject2222Data Encapsulation(封装)(封装)Reduces the possibility of inadvertent data modification Reduces various kinds of logic errors.Reduce complex of operating object.Data Encapsu

12、lation(data hiding)advantage2323Inheritance Inheritance(继承)(继承)uClasses can be stand-alone or they can occur in Inheritance hierarchies,which consist of parent/child relationships among classes.父亲 儿子u 继承关系可以使后者继承前者的基本特性,又可以增加一些新的特性。2424Inheritance Inheritance(继承)(继承)哺乳动物哺乳动物 (热血、有毛发、用奶哺育幼仔)(热血、有毛发、用

13、奶哺育幼仔)狗狗 (有犬牙、食肉、特定的骨骼结构、群居)(有犬牙、食肉、特定的骨骼结构、群居)白狗白狗 黑狗黑狗 (白色)(白色)(黑色)(黑色)u 继承关系简化了人们对事物的认识和叙述,简化了工作程序。25 Inheritance is one of the most important OOP tools in the implementation of code reusability.Data Inheritancehorsemale horsefemale horse26PolymorphismPolymorphism(多态)(多态)uPolymorphism is the conc

14、ept of using the Polymorphism is the concept of using the same same functionsfunctions on different type of on different type of objects.objects.l不同的对象调用相同名称的函数却可导致不同的行为或结果的现象。uThis OOP tool enables C+programmers This OOP tool enables C+programmers to reduce to reduce program development time.progra

15、m development time.27PolymorphismPolymorphism(多态)(多态)u举例:不同的足球运动员在射门以后可能产生多种结果l球射在门框上球射在门框上l球射在观众席上球射在观众席上l球打中了守门员的头球打中了守门员的头l球被守门员接住了球被守门员接住了l球进了球进了28C+C+优点优点u C+是一种中级编程语言l可以高级编程方式编写应用程序 l又可以低级编程方式编写与硬件关系密切的库。u 在分层架构中,l常使用C+编写Web服务器l使用HTML、Java或.Net编写其他组件29Developing a computer programDeveloping a

16、computer programuProgram development cycleDesignWriteDebugCompileLink提出整体解决方案Test编写C+指令编译器把C+程序指令转换成机器指令纠正编译时错误链接器将程序目标文件和C+运行时库文件结合定位和修正程序错误确认程序错误(bug)Correct30课程内容和目标课程内容和目标u课程主要内容lC+语法l面向对象程序设计的概念l大量的编程实践u目标l熟练掌握C+语法l具有面向对象程序设计的概念与能力l能熟练阅读复杂的C+程序源代码l能独立的设计与完成面向对象的C+程序31课程意义课程意义设备软件服务u电子信息产业主链条u在互

17、连网+时代,软件和信息服务是电子信息产业发展的两个重要方向。32一一 人才培养目标人才培养目标3G/3G/4G4G通通信信产产业业链链应用软件开发应用软件开发网络构建、网络构建、优化与运维优化与运维技术研究技术研究 设备研发设备研发硬件测试、生产,硬件测试、生产,软件测试软件测试人人才才需需求求信息服务成为主流,内容与应用提信息服务成为主流,内容与应用提供商成为通信产业链的核心供商成为通信产业链的核心.33课程说明课程说明u课堂上主要给出内容的结构特征和要点,不可能讲述所有的章节,但必须进行充分的课前/后阅读、理解和实践。u开发环境:VC+6.0,VS,DEV C+,Eclipse(Linux)VC+6.0,VS,DEV C+,Eclipse(Linux)u学习建议:看经典资料、学习别人编码、阅读好的源代码编码,编码,再编码编码,编码,再编码。u学时学时:40:40学时学时(理论理论28,28,上机上机12)12)u作业要求:按时提交作业,成绩计入平时成绩。作业要求:按时提交作业,成绩计入平时成绩。u考核方式:在课程结束后,举行笔试。卷面成绩占总成绩考核方式:在课程结束后,举行笔试。卷面成绩占总成绩50%50%,上机及平时成绩占总成绩,上机及平时成绩占总成绩50%50%。

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|