分享
分销 收藏 举报 申诉 / 37
播放页_导航下方通栏广告

类型第0-1-2章c++可见.ppt

  • 上传人:xrp****65
  • 文档编号:13219369
  • 上传时间:2026-02-04
  • 格式:PPT
  • 页数:37
  • 大小:353.50KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第0-1-2章 c++可见 c++ 可见
    资源描述:
    单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,C+,面向对象程序设计,第,01,章 面向对象思想、方法概论,1,、面向对象程序设计方法概述,面向对象思想的由来(,object oriental,),为了更有效的实现大型复杂软件的开发。提出的一种能够更直接模拟现实世界,按照系统的自然组成来抽象系统结构的方法。,传统的面向过程程序设计是围绕功能进行的,用一个函数实现一个功能。,所有的数据都是公用的,,一个函数可以使用任何一组数据,而一组数据又能被多个函数所使用。程序设计者必须考虑每一个细节,什么时候对什么数据进行操作。,面向对象程序设计采取的是另外一种思路。它面对的是一个个对象。,程序设计者的任务包括两个方面:,一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;,二是考虑怎样向有关对象发送消息,以完成所需的任务。各个对象的操作完成了,整体任务也就完成了。,实际上,每一组数据都是有特定的用途的,是某种操作的对象。也就是说,,一组操作调用一组数据,。,对象,属性(静态特征),行为(动态特征),发消息,让对象做什么。,一个系统中有多个对象相互作用。,数据,函数(方法、操作),向对象发消息,:调用对象中的函数。是对象的,少量的对外接口。,封装性,、,信息隐蔽,程序中(,C+,中),现实的问题空间,现实中对象,类,对象(类的一个实例),抽象出,继承性,软件重用,:,利用一个已有的类建立一个新类,多态性,由继承而产生的相关的不同的类,其对象对同,一消息会做出不同响应。,感性具体,思维具体,计算机程序中,现实任务,封装和数据隐藏,数据,函数(算法),对象,1,数据,函数(算法),对象,2,消息,面向过程,面向对象,利用不同层次的抽象来表述和实现一个系统,面向过程和面向对象的关系:,基于对象就是基于,类,,,C+,中的类是实现面向对象程序设计的基础。,软件工程学:,管理整个软件开发过程的学科。,提倡用工程学的方法来组织、管理软件的生产过程。,软件产品也有生命周期,-,需求分析、系统分析与设,计、编码实现、测试、维护,什么是,规范的软件开发过程,是,软件工程学要解决的问题。,软件开发方法:,面向数据流的方法、结构化方法、面向数据结构的方法、面向问题、面向对象的软件开发方法。,面向对象的软件开发过程,:,1,、面向对象分析,OOA,:粗略的分析任务,归纳出有关对象,2,、面向对象设计,OOD,:对类进行具体的设计,提出程序设,计的思路和方法,包括算法。,3,、面向对象编程,OOP:,选定一种语言写程序,4,、面向对象测试,OOT,:,以类作为测试的基本单元,5,、面向对象维护,OOSM,:,系统更新的迭代过程,2,、软件开发过程,面向对象的分析、设计过程,根据用户需求,对其中的实体进行分析、抽象,最后设计出,对象模型,的过程。是系统建模的过程。,是由具体到一般,,自底向上归纳,(具体到一般),-,建立对象模型,然后,自顶向下分解,-,依据服务(具有共同目标的相关功能的集合)对系统进行分解,每类服务根据详细分工确定涉及哪些对象及其配合的过程。,面向对象的统一建模语言,系统建模,统一建模语言,UML,用来在软件研发的各个阶段表述相应的文档以表达分析设计的成果。是方便的工具。,美国,Rational,公司的,G.Booch,、,J.Rumbaugh,和,I.Jacobson,提出的,UML,在,1997,年被,OMG,采纳,成为一种表准建模语言。,用,UML,表述的最终文档是各种视图,,UML,提供表达各种视图的图形符号,用例视图(,Use Case),参与者所能观察到的系统功能的模型图。,类图,静态视图,,状态机视图、活动视图、交互视图,-,表达系统中的对象的动态行为。,绘制,UML,图的工具软件,Rational Rose,Visio,参考教材,1.3,节,我们用仅有的一章篇幅对面向对象方法作了粗浅的论述,实际上要想说好说清这个题目是很难的,实在是因为面向对象方法涉及到软件工程学、方法学、认识论等众多需要好好琢磨的知识。不过,这不影响我们回答下面的有关面向对象的基本问题:到底什么是面向对象?,让我们来看看公认的面向对象大师,Grady,Booch,的一段流传甚广的话:,3,、面向对象小节,我对,OO,编程的目标从来就不是复用。相反,对我来说,对象提供了一种处理复杂性的方式。这个问题可以追溯到亚里士多德:您把这个世界视为过程还是对象?,在,OO,运动兴起之前,编程以过程为中心,-,例如结构化设计方法。然而,系统已经到达了超越其处理能力的复杂性极点。有了对象,我们能够通过提升抽象级别来构建更大的、更复杂的系统,-,我认为,这才是面向对象编程运动的真正胜利。,-Grady,Booch,正如,Booch,讲到的一样,从本质上说,面向对象是一个古已有之的认识论的问题,之所以面向对象方法兴起,是因为这种认识论能够帮助我们构造更为复杂的系统来解释越来越复杂的现实世界。只要你认同这个世界的本质是由独立的对象组成的,在特定的场景下,孤立对象之间在不同的驱动力和规则下的信息交互体现出了不同的运动过程。,面向对象的思想并不复杂,我们要在逐渐深入的过程中习惯和掌握从对象的角度来认识这个世界。,第,2,章 程序设计语言与,VC+,开发环境,2.1,程序设计语言,2.2 C+,语言,2.3 C+,集成开发环境,2.4,一个最简单的,C+,程序,2.5 c+,的多文件组织与预处理命令,2.1,程序设计语言,低级语言:针对于特定的,CPU,1,、面向机器的语言,机器语言,汇编语言,高级语言:致力于解决问题,而不针对特定的硬件,2,、面向过程的语言,3,、面向对象的语言,4,、其它与将来:面向问题的语言,程序设计语言,编译原理 (汇编器、解释器、编译器),操作系统,形式语言与自动机,数据结构、算法,用来控制计算机的动作,语言如何最终控制了计算机的动作,-,如何把语句变成,计算机能,”,懂,”,的命令,.,计算机如何执行这些动作,程序到底能做什么,不能做什么,怎样能高效地用程序来解决问题,Programming-language,2.2,从,C,到,C,一、,C+,的起源,C,语言是作为,UNIX,操作系统的开发语言为人们所认识。七十年代末,,C,语言开始移植到非,UNIX,环境中,并逐步脱离,UNIX,系统成为一种独立的程序设计语言。,1988,年美国国家标准协会,ANSI,对,C,语言进行了标准化,产生了,ANSI C,。,C+,是美国,BELL,实验室在,C,语言的基础上,增加了,面向对象的特征,,于,1980,年开发出来的一种,过程性与对象性结合,的程序语言。最初把它称为“,带类的,C,”,,,83,年后才取名为,C+,。,1997,年通过并发布了,ANSIC+,标准。,C+,致力于用面向对象的思想,解决大型系统的开发问题。,Dennis Ritchie,1941-2011.10,保持简单,-,丹尼斯,里奇,keep it simple stupid,John McCarthy,1927.9.4-2011.10.24,人工智能之父,-,麦卡锡,Stroustrup,在,1979,年发明,C+,语言,,至今已经二十多年,一直在为,C+,的完善、发展和标准化而奋斗。,在,Stroustrup,的理想中,C+,应该是一种中立的、开放的、不依赖于任何平台的、不被任何一家商业公司所操纵的语言,它的标准掌握在,ISO C+,标准委员会中。,在这一点上,,C+,和,Delphi,与,Java,语言有着本质的区别。,Bjarne,Stroustrup,(,1,),C,语言是很好的中级语言。,C,语言的主要特点:,(,2,)对各种不同类型的程序设计都有良好的适应性。,有丰富的运算符和数据类型,表达式类型多样化,可以,方便地实现在其他语言中较难实现的运算,,(,3,),以,函数,为基础实现程序的结构化设计,支持大型程序的多文件构成及单个文件独立编译,适合大型复杂程序的设计。,(,4,),语言简洁、紧凑,使用方便、灵活,写形式自由。,(,5,)程序的,可移植性好。,二、,C/C+,的特点,C,的类型检查机制相对较弱,这使得程序中的一些 错误不能在编译阶段由编译器检查出来。,如:,float x;,scanf(,“,%d,”,&x,);,C,语言本身几乎没有支持,代码重用,的语言结构。,只有函数,没有重载、模板、继承等更丰富的功能。,C,语言不适合开发大型程序,当程序达到一定规模时,程序员很难控制程序的复杂性。,C,语言的局限,C+,的特点,与,C,兼容,继承了,C,的所有优点。,引入了新的语法特性,可重用性、可扩充性、可维护性、可靠性都有很大提高。,支持,面向对象,的机制。,可直接在程序中映射问题空间的结构。,通过类和对象的概念把数据和对数据的操作封装在一起,通过派生、继承、重载和多态性等特征实现了软件重用和程序自动生成,使得大型复杂软件的构造和维护变得更加有效和容易。,4.C+,支持更高层次的代码重用,-,继承,模板。,5.c+,既支持面向对象程序设计,也支持面向过程设计。,6.,代码质量高,仅比汇编语言慢,10%-20%,。,Back,Previous,在理想的情况下,第一个用途要求一种“,尽可能接近机器的,”语言,以使机器的所有重要方面,都能以一种对程序员相当明显的方式简单而有效地加以处理。,C,语言的基本设计就是基于这一观点。,而第二个用途要求的理想语言是“,尽可能接近需要解决的问题,”,这样才能使解决方案中的概念能够直接而紧凑地表达出来。被加入,C,语言,从而塑造出,C+,的那些概念,从根本上说,就是基于这个观点设计的。,真正理解,C+,,应该先学面向对象(,OO,)。面向对象是一种思想,应用到程序分析设计中,可以很好的体现现实事务的复杂关系。所以是一种比较好的程序分析和设计方法。,而,C+,语言不过是可以很好的实现这些方法的成果的一种语言,如果你愿意,你也可以用,C,来实现这些设计,一样可以做到,只是难度更大一点。,C+,由以下三部分组成:,低级语言,多半继承自,C,更高级的语言特征,用户可以借此定义自己的数据类型,组织大规模的程序和系统,标准库,使用上述高级特征提供有用的数据结构和算法。,C+,语言的发展方向和程序员的关注点:,从以往注重运行时的效率,转到千方白计地提高程序员的编程效率。,2.3,一个简单的,C+,程序,#include,using namespace std;,/,使用命名空间,int,main(),/,主函数,带返回值,cout,Hello,,,World,”ab;,函数声明,【,例,4,】,包含类,的,C+,程序。,C+,程序的构成和书写形式,构成,一个,C+,程序可以是一个程序单位或多个程序单位构成。,一个程序单位包含:预处理命令、全局声明部分、函数,函数有两部分组成:函数头、函数体(内有局部声明、执行语句部分),使用函数把行为抽象成可调用的算法单元,格式,预处理命令:以,#,开始,结束处无;,语句:以 ;结束,(,c+,中的最小独立单元),非执行语句,变量的声明和定义、函数的声明、用户自定义类型声明、名称空间声明等等。,执行语句,用来实现用户指定的操作。表达式语句,函数调用语句等等。,只能写在函数体内。,类:用户自定义类型。类包括数据成员和成员函数,可指定其成员属性为私有或公有,以限定外界对它们的使用权限。类具有封装,信息隐蔽,继承,派生,多态等性质,适于实现面向对象编程。,类的声明,类的定义(成员函数的定义),2.4 C+,预处理命令与多文件组织,文件包含指令,#include ,或,“”,宏定义指令,#define,宏名 宏体,/,宏体可以为空,#define,宏名(宏形参列表)宏体,解除宏定义,#,undef,宏名,条件编译指令,:,预处理器根据条件是否成立决定语句是否将被编译,#if,常量表达式,#,ifdef,标识符,;,#,elif,常量表达式,#,endif,;,#else#,ifndef,标识符,;,#,endif,#endif,作用:通常配合,#define,命令使用,达到,条件编译,:,如跨平台时,或某条件满足时选择不同类型的变量等。,对调试程序用的可有可无的代码,起到开关的作用,灵活控制,该代码的有无。,避免重复包含,见教材,P59,例,可防止被重复包含的头文件的写法,#,ifndef,HEADER_FLAG,#define HEADER_FLAG,/Type declaration here,int,a;,void func1(int);,#,endif,2.5 C+,集成开发环境,输入源程序:后缀,*,.,cpp,(,微软,Visual Studio,,,windows,平台,),编译,-,目标文件*,.,obj,连接,-*.exe,运行*,.exe,调试(用开发环境提供的,DEBUG,调试),其他开发环境(,GCC,,可在,UNIX,、,WINDOWS,、,Linux,平台下运行)自由软件,最接近,C+,标准。,C+,集成开发环境,Visual C+6.0,或更新的集成开发环境,学会使用帮助,MSDN,上微软的网站,MSDN,请参考教材和电子书,PRIMER,129.0,¥,C+,编程语言,,原名,C+Program Language,,,作者,Bjarne,Stroustrup,C+,编程思想,原名,Thinking in C+,作者,Bruce,Eckell,你从,C+,语言中的收获大致与在学习实践这个语言的过程中所付出的努力成正比;,带着健康的怀疑态度,。,有疑问的语法可上机调试验证。,有效的程序员不应该浪费很多时间用于程序调试,他们应该一开始就不要把故障引入。,“,只有规范的科学的编程,一个大项目才能得到有效的管理,其质量才有保证。,THE END,
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:第0-1-2章c++可见.ppt
    链接地址:https://www.zixin.com.cn/doc/13219369.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork