面向对象程序设计c.ppt
《面向对象程序设计c.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计c.ppt(67页珍藏版)》请在三一办公上搜索。
1、C+程序设计语言,电子讲义,陈维斌,前言,计算机学科发展情况概述,其发展过程可以概括为:源于学科交叉,培育了多个交叉学科,技术发展日新月异、突飞猛进;广泛、深入地渗透到社会活动和日常生活的各个领域。它是二十世纪发展最快、对人类文明影响最深的学科之一。,计算机科学技术发端于上个世纪四十年代,迄今为止,共走过六十多年的历程。,下面从面向对象技术,网络计算、并行计算技术,数据库技术等方面简述其最新的发展。,面向对象技术,计算机学科发展情况概述,面向对象方法和技术起源于面向对象的编程语言(OOPL);,从八十年代中期开始,面向对象技术的焦点、热点逐渐转移到OOA和OOD上,逐步形成新的方法论和开发技术
2、。,近年来又出现新的高级技术,例如面向对象数据库、分布式对象技术、对象总线技术、面向对象的系统集成技术等。,面向对象方法使得系统开发方法回归自然从围绕功能构造系统回归到围绕客观事物构造系统。,面向对象技术的应用为软件开发从“人工集约生产方式”到“资源集约生产方式”的转化带来希望 主要得益于软件复用。,计算机学科发展情况概述,面向对象的关键技术和工具,面向对象建模技术UML,面向对象编程技术(平台).net体系、J2EE,系统集成技术Web Services,组件技术、中间件技术等。,网络计算、并行计算技术,计算机学科发展情况概述,互联网(Internet)是网络的佼佼者,互联网改变了人们的时空
3、观和生活方式,使人类初步实现了“地球村”的梦想。,互联网本身也存在极大的缺陷表现在安全性隐患和对商务活动缺乏有效的支持等。,互联网并不是最优的网络计算方案,在计算机集群或网格上应用并行技术,可以实现高性能计算机。,目前的高性能计算机,其运算速度可超过5万亿次/每秒。,数据库技术,计算机学科发展情况概述,几乎所有的软件密集型系统都离不开数据库。,数据库是数据处理和事务处理系统的基础,数据模型的进化,异构数据集成和数据服务技术,计算机学科发展情况概述,在彼此孤立的各个业务系统之间提供数据通道,既可以抽取公共数据,又可以互相提供数据服务。犹如在信息孤岛之间架起桥梁为企业应用系统集成(EAI)提供基础
4、保障。,数据分析技术,联机分析,数据挖掘,将业务数据进行综合,组织成数据立方体,进行切片、切块、钻取等处理。以提供决策支持,应用统计学、人工智能等手段从数据中发现知识和模式并以可视化的方式展现。以支持智能决策,本课程是计算机类各专业的一门重要的专业基础课(学科基础课),在由基础训练到专业课教学阶段过渡过程中起到承上启下的作用。它不仅为今后学习专业课打下坚实的理论基础和技术基础,而且为软件开发、程序设计提供必要的理论、方法和工具。,前趋课程:高等数学、计算机导论,主要的后续课程:数据结构、汇编语言程序设计、编译原理、操作系统等。,课程性质,课程的基本要求,了解程序设计语言的概况和基本理论;,系统
5、掌握C+语言的语法体系;,基本掌握结构化程序设计方法和面向对象程序设计方法及编程技术;,逐步培养阅读程序、分析程序和独立编写程序的能力。,课程的特点与学习方法,既抽象又具体,入门容易熟练难;,理论联系实际,实践性较强。,需要多练习,多阅读,多模仿,多上机,多创作。,C+是一种程序设计语言,具有一般语言的基本要素:语法、语义、语用,但其语境及交流方式有别于自然语言。(语境系指语言的存在环境和使用场合),学习自然语言的好方法当然也可以应用到学习程序设计语言上来。,课程的主要内容,分为:基础编程、过程化编程、面向对象编程及高级编程四大部分。,基础编程主要介绍:,(1)C+的语句(共五类,九个语句)文
6、章是由句子组成的,程序是由语句组成的,所以语句是程序的基本元素。,(2)数据类型。数据类型是各种数据的抽象,反过来可以用来描述程序所要加工的形形色色的数据对象。,我们将要涉及到的数据类型有:整型、浮点型、双精度型、串、数组、向量、指针、类等。,(3)表达式。表达式用来描述计算,可以说它是语句甚至是程序的“砖瓦”。,过程化编程(也称为结构化编程)主要介绍:,(1)函数机制。可以将函数想象为文章的章节,也可以将函数想象为“积木块”。这些“积木块”组成了复杂的程序。,(2)程序结构。介绍程序构成、模块结构、数据作用域和编译预处理等内容。,课程的主要内容(续),基础编程主要介绍:,课程的主要内容(续)
7、,面向对象编程主要介绍:,(1)面向对象的基本知识,类的概念、类的定义,类的主要特征(名、属性、操作的描述)及其对应的语法。,(2)客观事物在程序中的映射与实现对象的创建和使用。,(3)面向对象基本要素封装和继承在程序设计语言中的应用。,课程的主要内容(续),*高级编程主要介绍:,(1)多态(面向对象基本要素之一)的概念、编程技术等。,(2)模板和异常处理。,(1)C+程序设计教程(第二版),钱能主编,清华大学出版社,2005.9,(2)The C+Programming language(Special Edition),Bjarne Stoustrup,高等教育出版社,2001.8,(3)
8、面向对象程序设计,刘正林主编,华中科技大学出版社,2001.5,(5)Visual C+6.0 编程实例,薛松等,人民邮电出版社,1999.8,(4)C+大学教程(第二版),电子工业出版社,2002.1,教材和主要参考书,第一章 C+概述(C+Introduction),主要内容:程序设计语言简史,C和C+的发展过程,C+的特点、用途,C+程序实例和编程流程。,重点:C+的特点、用途,C+程序结构特征。,课堂时数:23学时,上机时数:1学时。,难点:程序结构特征分析。,课时安排:,课外上机时数:2学时。,1.1 程序设计语言概述,程序设计语言的四个发展阶段,通常将程序设计语言的发展划分为以下四
9、代:,第一代:机器语言,第二代:汇编语言,第三代:高级语言,第四代:无编程语言,因为它们经常“四世同堂”,故又称为计算机语言的四种形态。,机器语言是计算机的指令系统,属于低级语言。,1.第一代程序设计语言:机器语言,用机器语言编写的程序称为机器语言程序,可由计算机直接执行,但与具体机器有关,且难写、难读。,例1-1:计算3*a-2*b+1并保存在a中,用某个机器语言书写的机器语言程序为:,8b 45 fc 8b 数据移动8d 04 40 8d 取数8b 4d f8 03 c9 03 加 2b c1 2b 减40 40 加1 89 45 fc 89 数据移动,这样的程序,对于不了解机器指令系统的
10、人来说,无异于天书。,汇编语言是机器指令的直接符号化,也即用合适的英文单词或英文符号表示指令的操作码和部分地址码。,2.第二代程序设计语言:汇编语言,例如:用add表示加法操作,用eax表示某个寄存器、用ebp表示数据段的地址。这样可以改善可读性。,8b 45 fc8d 04 408b 4d f803 c92b c14089 45 fc,mov eax,DWORD PTR a_$ebplea eax,DWORD PTReax+eax*2mov ecx,DWORD PTR b_$epbadd ecx,ecxsub eax,ecxinc eaxmov DWORD PTR a_$epb,eax,用汇
11、编语言编写的程序称为汇编语言程序,由于汇编语言无法直接与计算机交流,所以这样的程序无法直接由计算机执行,因此必须通过汇编程序翻译成机器语言程序。,3.第三代程序设计语言:高级语言,高级语言是一种接近于自然语言的计算机语言。,所谓接近于自然语言是指,用符合人们习惯的“数学+英语”的方式和符号来描述计算问题。,例如:例1的计算问题用高级语言来描述就简单、直观到形如:a=3*a-2*b+1,其右部显然与数学式3a-2b+1十分地接近。,用高级语言编写的程序称为高级语言程序,这种程序计算机无法理解与执行,必须通过编译程序翻译成机器语言程序。,高级语言与具体机器基本无关,因此高级语言程序不但简单、直观,
12、而且具有可移植性。,4.第四代程序设计语言:无编程语言,无编程或少编程语言支持对一些通用计算使用构件、组件,以可视化方式进行选择,并以组装方式加以实现。,例1-2 下图所示的文件操作窗口就是由工具条、下拉列表框、文本框、命令按钮等构件快速组装而成,并只须辅以少量编程。,一些面向对象可视化程序设计语言,例如Visual C+、Visual Basic、C#等,都具有第四代计算机语言的特征。,高级语言简史,1954年第一个高级语言Fortran诞生,它是一种面向科学计算的“公式翻译语言”。66年实现标准化,大约在九十年代中后期逐渐消失。,1959年COBOL语言问世,它是一种面向商务处理的高级语言
13、,68年实现标准化,目前基本上也已停止使用。,1960年ALGOL60问世,它以语法成分的多样性和结构的严谨性著称,并首次引入数据作用域、递归等概念和技术。ALGOL60的流行期没有超过20年,早已退出历史舞台,被人淡忘了。,60年代中期,BASIC语言问世,被人们视为Fortran的简化版本,以小巧玲珑,简单易用而著称,其面向对象版本Visual Basic目前仍被广泛使用。,1967年,出现了Simula67,该语言首次提出类的概念并加以实现,在面向对象技术领域,它是一个先驱者,但并不是成功者,因为多方面的不完善,导致其无法推广应用。,60年代中期,第一个人工智能语言LISP语言诞生。,1
14、971年,第一个结构化程序设计语言PASCAL语言诞生,其语法结构比ALGOL更为严谨、数据类型更为丰富,所以在相当长的时间内,PASCAL一直是计算机专业的教学语言,目前也已淡出,但其面向对象的版本Object PASCAL成为Delphi的核心。,1972年C语言问世,它支持结构化和模块化程序设计,具有开放性,又具有中级语言的特征,因此被广泛使用,并且经久不衰。,1983年,在C的基础上改良成为带类的C的面向对象程序设计语言C+问世。,1.1.3 C和C+的历史及发展过程,作为C+的前身,C语言是贝尔实验室的Dennis Ritchie于1972年在B语言的基础上设计而成的。,三十年多年来
15、,在计算机系统领域和应用领域发挥了极大的作用。并且随着计算机技术和程序设计方法的发展、演化,其自身也在不断地发展,可以概括为以下几个阶段:,1.1972年在B语言的基础上设计而成的,用来描述和实现Unix操作系统。,2.1977年改进为不依赖于具体机器的C语言编译文本可移植C语言编译程序,从而具有高级语言的第一特征,演化为我们所说的“传统的C语言”。,31983年由美国国家标准化协会(ANSI)综合C的各种版本,制定了新的标准ANSI C,进而演化为87ANSI C。,4.1980年,贝尔实验室开始对C增加面向对象的成分,最初的成果为“带类的C”,83年正式取名为C+。1991年出现实用工业版
16、本,94年制定了ANSI C+标准的草案。,值得一提的是:面向网络计算的Java语言其语法结构与C+如出一辙。,5C+的各种工业版本的出现 例如Visual C+,注意:现在各种程序语言大多具有通用性,数值计算语言:Algol、Fortran等;商业语言:Cobol、Visual Basic、各种数据库管理系统提供的编程语言等;人工智能语言:Lisp、Prolog等;系统语言:Pascal、C、C+、C#等。,1.1.4 高级语言的分类,程序设计语言的应用领域,六十年代,程序设计语言的应用领域不外乎就是:商业、科学计算、系统、人工智能等方面。,九十年代以来,程序设计语言除上述领域外,还拓展到出
17、版应用、处理、网络计算等方面。,语法和语义,程序设计语言的语法是程序设计语言的外观。它给出语句、数据对象说明以及其它语言结构(成分)的书写规则。,程序设计语言的语义表示语言结构的含义。,语法,语义,例1-3 C+的赋值语句,其语法和语义如下:语法:=实例:z=x+y语义:计算表达式exp,然后将计算结果传送给指定的变量。,1.2 C+的应用领域,C+的应用领域包括:商业、科学计算、系统软件、Internet。,其主要用途如下:,1.作为系统描述语言,编写各种系统软件。,例如:(1)OS(众所周知的Unix),(2)DBMS(FoxPro就是用Watcom C编写的)。,2.作为工具软件描述语言
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6034422.html