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

上传人:石*** 文档编号:51223958 上传时间:2022-10-18 格式:PPT 页数:35 大小:2.08MB
返回 下载 相关 举报
面向对象程序设计课件.ppt_第1页
第1页 / 共35页
面向对象程序设计课件.ppt_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《面向对象程序设计课件.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计课件.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、面向对象程序设计课件现在学习的是第1页,共35页本课程学什么?有什么用?本课程学什么?有什么用?教材:面向对象程序设计:面向对象程序设计:C+C+语言描述语言描述语言描述语言描述作者:作者:(美)约翰逊鲍尔(美)约翰逊鲍尔 等等 著著 蔡宇辉蔡宇辉,李军义 译 出出 版版 社:社:机械工业出版社机械工业出版社VC+6.0 作业软件作业软件在上海大学的乐乎网络硬盘中的下载地址http:/ 1.“摩尔定律”:微处理器的速度会每18个月翻一倍。2.“吉尔德定律”:主干网的宽带将每6个月增加一倍。3.“麦特卡尔夫定律”:网络的N个联结能够创造N平方的效益。4.“比尔盖茨定律”:软件的发展无极限,它只受

2、人的想象力的限制。现在学习的是第3页,共35页世界工业现状中国经济转型。中国经济转型。发达国家制造业回归,西方强国发达国家制造业回归,西方强国“再工业化再工业化”。世界上很多国。世界上很多国家都在制定制造业发展战略。家都在制定制造业发展战略。当前,信息技术、新能源、新材料、生物技术等重要领域和前当前,信息技术、新能源、新材料、生物技术等重要领域和前沿方向的革命性突破和交叉融合,正在引发新一轮产业变革,沿方向的革命性突破和交叉融合,正在引发新一轮产业变革,将对全球制造业产生颠覆性的影响,并逐渐改变着全球制造业将对全球制造业产生颠覆性的影响,并逐渐改变着全球制造业的发展格局。特别是新一代信息技术与

3、制造业的深度融合,将的发展格局。特别是新一代信息技术与制造业的深度融合,将促进制造模式、生产组织方式和产业形态的深刻变革。以德国促进制造模式、生产组织方式和产业形态的深刻变革。以德国工业工业4.04.0、美国工业互联网、新工业法国为代表,主要发达国家、美国工业互联网、新工业法国为代表,主要发达国家围绕建立制造竞争优势,加快在信息基础设施、核心技术产业、围绕建立制造竞争优势,加快在信息基础设施、核心技术产业、以智能制造为核心的经济体系等方面进行战略部署,谋求在技以智能制造为核心的经济体系等方面进行战略部署,谋求在技术、产业方面继续领先优势,占据高端制造领域全球价值链的术、产业方面继续领先优势,占

4、据高端制造领域全球价值链的有利位置。有利位置。现在学习的是第4页,共35页国家战略国家战略20152015年年5月月1919日,国务院正式印发了我国实施制造强国战日,国务院正式印发了我国实施制造强国战日,国务院正式印发了我国实施制造强国战日,国务院正式印发了我国实施制造强国战略第一个十年的行动纲领略第一个十年的行动纲领略第一个十年的行动纲领略第一个十年的行动纲领中国制造中国制造2025。工信部部长苗圩说:工信部部长苗圩说:工信部部长苗圩说:工信部部长苗圩说:1.1.一个目标:制造业大国向制造业强国去转变一个目标:制造业大国向制造业强国去转变2.2.就是通过两化融合发展来实现这个目标3.3.“三

5、步走”3个十年,个十年,四项原则,五条方针,十个领域四项原则,五条方针,十个领域(新新一代信息技术产业一代信息技术产业,新能源,总理李克强说:中国制造中国制造2025可简单概括为可简单概括为“一二三四五五十一二三四五五十”中国制造中国制造2025的的“要害要害”:实:实现中国现中国“智智”造。造。“智”从哪里来?就是要集众人之智。现在学习的是第5页,共35页权威解读权威解读中国制造中国制造2025:1.对新一轮科技革命和产业变革的战略高度做出的一项重大战略决策。50多位院士和100多位专家参加制定。德国工业4.0主要体现产业界的意图,中国制造中国制造2025体现国家战略意图。2.中国制造202

6、5将智能制造作为主攻方向。现在学习的是第6页,共35页国家战略国家战略2015年07月04日国务院发布国务院关于积极国务院关于积极推进推进“互联网互联网+”行动的指导意见行动的指导意见工信部部长苗圩说:工信部部长苗圩说:我说:我说:我认为我认为“互联网互联网+”是一个很大的概念,是一个很大的概念,互联网互联网+社会就变成社会信息化,互联社会就变成社会信息化,互联网网+环保,就可以绿色化发展。但是环保,就可以绿色化发展。但是我认为最具备条件的,还是互联网我认为最具备条件的,还是互联网+先进制造业,这将成为先进制造业,这将成为“互联网互联网+”最先最先突破的一个领域。突破的一个领域。互联网企业互联

7、网企业+制造业制造业Google+无人汽车。阿里巴巴+智能机器人。百度+人工智能。传统企业传统企业+互联网互联网GE+互联网(工业互联网)你所在的企业+互联网现在学习的是第7页,共35页国家战略国家战略具体化1.智能制造就是要研发出一批智能化的产品。比如机器人。2.整个生产过程的智能化或者叫信息化。3.旨在通过物联网、云计算、大数据等新一代信息技术,与已有的信息化、自动化技术结合在一起,把制造系统的各元素联结起来,形成信息物理系统,实现相互协同、遥相呼应。实例:全无人驾驶交通体系。现在学习的是第8页,共35页如何实现机器的智能化智能的机理是什么?是程序。见下页机器的能够实现智能化吗?1.1.离

8、开语言还会有智能吗?世界可以用语言描述(自然,数学语言),可以用符号标识,与媒介无关,中文英文阿拉伯文都可以,关键是标准统一,映射统一。人用语言工具可以推理,计算智能。2.2.只有0,1两个符号的机器可以描述世界吗?可以计算和推理吗?图灵机。现在学习的是第9页,共35页程序程序软件软件智能智能智慧智慧生命体生命体用用计算机语言计算机语言编写的命令序列的集合编写的命令序列的集合与与计算机计算机系统有关的系统有关的程序程序、规程、规程、规则,以及文件、文档及规则,以及文件、文档及数据数据代码代码数据数据0101010100000001001010101010101000000010010101语言

9、智能语言智能 、数学数学逻辑智能、逻辑智能、空间智能空间智能、身体运动智能、身体运动智能、音乐智能音乐智能人际智能、人际智能、自我认知智能、自我认知智能、自然认知智能自然认知智能硬件的灵魂硬件的灵魂C/C+C/C+C#C#JavaJavaJavaScriptJavaScript汇编语言汇编语言BasicBasicObjective-CObjective-CFortranFortran宇宙的法则是很简单的,但结构是很复杂的。不是庐山真面目,只缘身在此山中。现在学习的是第10页,共35页本课程的本质特征天下不会掉馅饼,实现天下不会掉馅饼,实现智能制造、互联网+其其实就是要设计程序。实就是要设计程序

10、。如何用0101数字来描述世界,分析计算变换驱动世界,即如何设计出智能电脑程序。越来越智能,程序越来越复杂,设计决定了其成败,越来越智能,程序越来越复杂,设计决定了其成败,80年代就开始出现软件危机了。见下页本课程介绍的程序设计方法的精髓是:按照人对世界的认识的方法来设计程序。只有想不到,没有做不到只有想不到,没有做不到!现在学习的是第11页,共35页软件危机n n计算机硬件的性价比不断提高,促使把更多更复杂的问题交给计算机去解决。计算机硬件的性价比不断提高,促使把更多更复杂的问题交给计算机去解决。现在学习的是第12页,共35页n编程是重要的,但更具有决定意义的是系统设计(好比建筑设计图等)。

11、n软件危机:系统的复杂性超出了所能驾御的程度。85%的错误是在需求分析和设计时犯的。人们一直在寻求更先进的软件方法与技术而奋斗。n面向对象的方法是当前软件领域(分析、设计、编程、测试)的主流技术。面向对象的程序设计是使计算机向有表述能力的媒体发展的思想方法,解决方案。现在学习的是第13页,共35页我们为什么比美欧落后那么多?中国是制造业大国,却不是强国,前面的分析已知道了,就是软件落后。起步相同,为什么那么落后?中国是仿冒强国,却是原创弱国。同样,我们这门课,很难学习,常常是不理解为什么要这么做,于是就是生搬硬套。有人问金庸在剑桥大学读到了什么好书,金庸说:现在学习的是第14页,共35页在中国

12、的文化里,理性思维似乎是一直受抑制的,中国文人传统都是非理性思考者。所谓非理性思考,主要是形象思维,包括联想、比方等形式,这些思维方式作为人类与生俱来的思维方式的一种,一方面当然具有它的好处(如,联想启发新思路,类比也有助于用新的方式解决既有问题),然而,这样的思维方式同样也充满了各种各样的谬误,随处可见的不靠谱的类比和文字游戏。在科学上满足于司空见惯,想当然,浮躁,缺乏逻辑分析,所以很难深入下去。现在学习的是第15页,共35页例:宇宙有边界吗?形象思维中,有!没有!有!没有!只有诡辩理性的思维,程序设计的思维方法:什么是边界?先要定量或数字化的定义,即要先建立模型先要定量或数字化的定义,即要

13、先建立模型-非欧几何、空间弯曲、相对论。非欧几何、空间弯曲、相对论。又如2=1.4142135623730950488016887242097有人问金庸在剑桥大学读到了什么好书,金庸说:读到好书并不重要,重要的是学到了英国与中国完全不同的研究学问的方式。“中国人写文章大致有个方向,高屋建瓴地写;英国教授则要求,写文章每一句话都要有根据,要拿出证据,否则不成立。做学术必须有根有据。现在学习的是第16页,共35页软件定义网络软件定义数据中心软件定义硬件软件定义服务。软件定义世界人类发展出高等数学和电脑程序来解决复杂的事物关系,成为人类发展出高等数学和电脑程序来解决复杂的事物关系,成为现代文明高速发

14、展的核心动力,而文学家艺术家哲学家等就退现代文明高速发展的核心动力,而文学家艺术家哲学家等就退出了人类文明推动力的核心群体,逐步边缘化。出了人类文明推动力的核心群体,逐步边缘化。软件定义一切,软件驱动世界现在学习的是第17页,共35页面向对象的程序设计总要落脚到一种语言来描述.学习那种计算机语言最好?学习那种计算机语言最好?n nPCPC机上:上百种计算机语言机上:上百种计算机语言 大浪淘沙大浪淘沙 FORTRAN(FORTRAN(最古老的高级语言最古老的高级语言)BASIC-QBASIC-Visual BASIC-Visual BASIC.NET BASIC-QBASIC-Visual BA

15、SIC-Visual BASIC.NET PASICALPASICAL-Delphi-Delphi;Object-C(Object-C(苹果苹果)Java Java C C-C+-C+-Visual C+Visual C+-C#C#(最新的计算机(最新的计算机语言)语言)Visual C+.NET.(Visual C+.NET.(见见 01-01-客观认识客观认识C+.ppt)C+.ppt)其他机种其他机种各种硬件驱动程序、单片机、数字信号处理器等:各种硬件驱动程序、单片机、数字信号处理器等:汇编语言汇编语言(与机器有关)、(与机器有关)、C C语言语言 、C+C+语言语言n n客观认识客观认

16、识C+.pptC+.ppt最大的优点:全能,高效、专业。最大的优点:全能,高效、专业。最大的缺点:开发效率低最大的缺点:开发效率低自动化专业的学生当然是学习自动化专业的学生当然是学习自动化专业的学生当然是学习自动化专业的学生当然是学习C/C+C/C+语言最好!语言最好!语言最好!语言最好!现在学习的是第18页,共35页系统编程C+C+是一种倾向系统编程的通用程序设计语言:是更好的是更好的C支持数据抽象支持数据抽象 支持面向对象的编程支持泛型编程支持泛型编程系统编程是指,传统上与操作系统和基础工具有关的任务。系统编程是指,传统上与操作系统和基础工具有关的任务。包括:操作系统内核、设备驱动程序、系

17、统工具、网络、包括:操作系统内核、设备驱动程序、系统工具、网络、字处理工具、编译器、某些种类的图形学和字处理工具、编译器、某些种类的图形学和GUIGUI、数据库系统、游戏引擎、CAD/CAMCAD/CAM、电信系统等等。这类工作很好地代表了当前的C+用户。用户。现在学习的是第19页,共35页支持面向对象程序设计的通用语言:C+(Visual C+),Java,Delphi,Visual BASIC.NET C+指的是面向对象C语言。C+被奉为一门激动人心的语言,它利用了对象的最受欢迎的特征并尽可能避免运行时刻的缺点和开销,而且使在C语言中已有的大量投资不会浪费。所以它最适合开发服务器软件。本课

18、程介绍C+面向对象程序设计最重要概念类,及其对象之间的相互作用。为什么C+会成功现在学习的是第20页,共35页怎样才能学好怎样才能学好C+语言?语言?自然语言:单词、语法、句子、段落、文章自然语言:单词、语法、句子、段落、文章C+C+语言:关键字、语法、语句、函数、类(模块)、文件语言:关键字、语法、语句、函数、类(模块)、文件学外语:听、说、读、写学外语:听、说、读、写学计算机语言:学计算机语言:读、写读、写读、写读、写C+C+语言语言 入门容易得道难!入门容易得道难!最基本的、最死板的是语言本身(语言语法或语言规则)最基本的、最死板的是语言本身(语言语法或语言规则)最难的、最灵活的是用语言

19、工具对应用的设计,无止境。最难的、最灵活的是用语言工具对应用的设计,无止境。最好的学习方法是:阅读(通读教材、多读各类资料、源程序),最好的学习方法是:阅读(通读教材、多读各类资料、源程序),上机实践编程。上机实践编程。现在学习的是第21页,共35页目的本课程是一个综合性实践性课程面向对象程序设计的理论、原理、概念和技术方法C/C+C/C+语言数据结构,数据结构,Visual 开发工具,软件工程开发工具,软件工程电气工程及其自动化应用领域目标:有能力开发应用软件。这门课就是一扇门,师傅带进门进了这扇门,要多看看,学学,出门就会感觉不同了,目的也就达到了。现在学习的是第22页,共35页示例和就业

20、系统集成:系统集成:http:/ 2.http:/ 现在学习的是第23页,共35页第一章 面向对象编程C/C+语言面向对象的基本元素1.见婴儿学对象2.幼儿园学抽象3.中小学学推理和计算4.大学学建模,学程序设计电电脑脑拥拥有有或或要要学学有有现在学习的是第24页,共35页对象的定义现实世界的认识现实世界的认识C+语言描述语言描述存在性、占有空间地址,内存大小可见性作用域符号标识标识符(变量)类别(特征,行为模式)类对象间信息交流对象访问(通过标识符、地址)函数调用(完成一个过程)现在学习的是第25页,共35页为什么需要面向对象思维?为什么需要面向对象思维?软件是由一群有智慧、善传递信息的对象

21、组成,软件是由一群有智慧、善传递信息的对象组成,富有富有“人性人性”-拟人化、人格化拟人化、人格化。例:冰箱赋予人性后,就变得主动积极活生生,智能化。例:冰箱赋予人性后,就变得主动积极活生生,智能化。在面向对象思维下,分析员、设计师、程序员达在面向对象思维下,分析员、设计师、程序员达到了心心相印的境界。到了心心相印的境界。例:例:“我的一个朋友结婚了我的一个朋友结婚了”-对象模型的通俗理解对象模型的通俗理解对象高度拟人化是软件设计至高无上的方针对象高度拟人化是软件设计至高无上的方针现在学习的是第26页,共35页设计过程例:例:“我的一个朋友结婚了我的一个朋友结婚了”-对象模型的通俗理解对象模型

22、的通俗理解第二步:分析建模第三步:面向对象详细设计通用算法设计通用算法设计类及对象设计类及对象设计类及对象设计类及对象设计消息、接口设计消息、接口设计子系统、组件设计子系统、组件设计第四、五步:编程,写代码;测试第一步:认识现实世界-系统分析现在学习的是第27页,共35页软件开发软件开发 n n软件开发是什么软件开发是什么软件开发是什么软件开发是什么?编程本身是一种个体的、富灵感的、逻辑性强的活动,但现代的软编程本身是一种个体的、富灵感的、逻辑性强的活动,但现代的软件开发更是一种群体的工程活动。件开发更是一种群体的工程活动。1)1)教学观教学观2)2)工程观工程观3)3)艺术艺术/工艺观。工艺

23、观。n n开发人员的主要动作是开发人员的主要动作是开发人员的主要动作是开发人员的主要动作是:理解问题空间,并设想出技术上可行的方案来解决问题;理解问题空间,并设想出技术上可行的方案来解决问题;把头脑中的把头脑中的“内部内部”过程用可执行的计算机语言表达出来;过程用可执行的计算机语言表达出来;留下必要的工作标记(留下必要的工作标记(markermarker)以支持首要目标(项目组内的)以支持首要目标(项目组内的交流)和次要目标(传递这次开发的设计思想)。交流)和次要目标(传递这次开发的设计思想)。n n设计方法设计方法设计方法设计方法:面向对象的程序设计。:面向对象的程序设计。中心任务:设计类。

24、中心任务:设计类。现在学习的是第28页,共35页第一章 面向对象编程1.1.1 面向过程的编程自顶向下,函数层层调用.基本概念:函数子程序.Main()Main()BuildChassis()BuildChassis()BuildEngine()BuildEngine()Assemble()Assemble()InspectInspect10001000行指令行指令20002000行指令行指令500500行指令行指令n n行指令行指令strcpystrcpydoDatadoDataInDataInData现在学习的是第29页,共35页面向过程的编程面向过程的编程-结构化编程优点:过程的结构化编

25、程、层次化。复杂的过程分解为简单的、有效的分析方法。代码运行高效。go to 指令是害群之马缺点:函数没有进行分类或抽象,大系统将难于驾驭。关联式编程关联式编程优点:数据的标准化程序设计(数学模型的严格支持),优点:数据的标准化程序设计(数学模型的严格支持),于是有了广泛使用的数据库于是有了广泛使用的数据库缺点:只限于数据的存储读写访问缺点:只限于数据的存储读写访问现在学习的是第30页,共35页1.1.2面向对象的编程结构化、关联式概念对软件设计贡献巨大。但是:结构化只限于函数(过程)、关联式只限于数据,各自为政,缺乏整合。面向对象的编程数据与相关函数整合起来,高效组织软件,降低软件的复杂度、

26、提高软件的复用性。一种试图摹仿现实世界类型的程序设计方法(通过类的设计)-程序设计过程是对现实世界的抽象过程。现在学习的是第31页,共35页抽象抽象百科名片:抽象抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。程序设计的过程程序设计的过程首先是一个抽象的过程。类是对象的集合体。类描述了一组有相同特性(数据元素)和相同行为(函数)的对象。现在学习的是第32页,共35页1.2 类与抽象数据类型如何发现对象,抽象出概念(类型)?在我们日常词汇中的几乎每一个名词都表示一类对象,具有

27、一组属性或行为特征,它是对现实世界的概括、分类和抽象。一个类是一种数据类型,是面向对象语言的基基本本模块模块。对象(变量)是类(数据类型)的实例。现在学习的是第33页,共35页如何发现对象,抽象出概念(类型)?例:泪水问花花不语,乱红飞过秋千去女主角对象流泪Cry()问Ask()花对象语Say()飞Fly()秋千对象摆荡Swing()现在学习的是第34页,共35页1.1.3 对象关系模型has a:组合,包含;is ais a:实例,继承;like alike a:接口,抽象1.3对象的行为模型-客户客户/服务模式服务模式服务器:类和对象类和对象客户:使用使用类和对象的模块(函数、类函数、类)客户通过请求请求服务而完成其任务,具体如何实现的底层细节不必关心不必关心。运行方式:运行方式:1)调用式:客户调用服务器函数。)调用式:客户调用服务器函数。2 2)事件驱动(消息传递):)事件驱动(消息传递):客户订阅客户订阅/连接服务器定义的事件。服务器定义的事件。现在学习的是第35页,共35页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁