第一章面向对象程序设计_第1页
第一章面向对象程序设计_第2页
第一章面向对象程序设计_第3页
第一章面向对象程序设计_第4页
第一章面向对象程序设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 面向对象程序设计长春理工大学计算科学技术学院学习这门课程的目的 信息时代的要求新的时代要求我们自觉地、主动地学习和掌握计算机的基本知识和基本技能,并把它作为自己应该具备的基本素质。 对于大学生的要求对于大学生而言,掌握一门高级语言及其基本的编程技能是必需的。大学学习编程语言可以培养科学精神、锻炼思维方法、养成严谨踏实的科研作风,训练分析问题、解决问题的能力,这些都是你们日后工作的基础。学习方法1. 课上认真听讲。2. 课后勤思考,多实践。3. 注意总结。考试成绩平时成绩,上机程序,期末考试成绩。考试方式 平时出勤情况和课堂测验情况,上机和实验报告完成情况,期末考试。 第1章 概述(Intro

2、duction)v本章主要内容本章主要内容v面向对象程序诞生的原因面向对象程序诞生的原因v面向对象语言的特征面向对象语言的特征vC+和和Cv基础知识基础知识v统一建模语言(统一建模语言(UML)1.1 面向对象程序设计诞生的原因语言是人类创造的工具,它用来表达意思,交流思想。程序设计(编程)语言(programming language)是人类与计算机交流的工具。人们用程序设计语言描述需要解决的问题,用“语言翻译/编译器”加工以使计算机理解其描述,尔后就能使计算机代替人们工作了。1.1.1 面向过程语言vtc pasic basic 等是面向过程的变成工具,等是面向过程的变成工具,所谓过程就是

3、程序段了,也可以是一个函数,所谓过程就是程序段了,也可以是一个函数,讲究的是自顶向下,逐步求精的编程理念讲究的是自顶向下,逐步求精的编程理念 。计算机语言的发展阶段机器语言(用二进制代码表示)汇编语言(用符号表示)高级语言(类似自然语言)一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言,就是机器语言。 特点:v可读性差v修改困难v重用性差v执行效率高1. 机器语言2. 汇编语言用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,这种程序设计语言就称为汇编语言特点:v可读性较好v修改比较困难v重用性比较差v执行效率较高3. 高级语言接近于数学语言或人的自然语言,同时又不依赖于

4、计算机硬件,编出的程序能在所有机器上通用,这样的语言叫作高级语言。1954年,第一个完全脱离机器硬件的高级语言FORTRAN问世了1.2 C+前史1970年,AT&T的Bell实验室的D.Ritchie和K.Thompson共同发明了C语言1979年,Bjarne Stroustrup到了Bell实验室,开始从事将C改良为带类的C(C with classes)的工作。1983年该语言被正式命名为C+。1.3 C+C语言以它高度的灵巧性和实现上的高效性比擅长于科学计算的FORTRAN更胜一筹C语言以它的简捷和高效比严谨的Pascal更具工业化的意义。程序中需要处理大量复杂结构的数据,C程序员虽

5、然经过艰苦的努力,设计出许多精巧的程序,但是在理解上却越来越困难,运行问题也越来越多。程序需要“保修(可维护性要求)”,需要“扩充(可扩展性要求)”,需要“加固(安全性要求)”。然而,这些精巧的程序由于内在结构的弱点数据结构与算法盘根错节,无法被可逆地拆解,很难分析“险情”和重新使用。1.3.1 褒贬C 1.3.2 C继承者1、C+是在C的基础上发展而来,是带类的C语言。2、C+对C的继承是青出于蓝而胜于蓝。3、结构化程序设计的思想:功能分解,并逐步求精。面向对象程序设计的本质:把数据和处理数据的过程看成一个整体对象。 1.3.3 标准C+标准化带给人们的好处: 1)语言的设计,是以某种标准作

6、为蓝本的,标准C+语言当然是描述标准C+的蓝本;2)因为有了C+标准,专家们在开发C+编译器时,可以避免大量的研究无序性和重复劳动,并且也为组织大规模的编译软件开发创造了前提条件;3)有了C+标准文档,语言设计者、程序员和用户三者就可以有一致的语言来互通;C+标准促进了程序员资源的合理利用,人们找到了共同遵循的准则,在程序员社区可以畅通地交流,编写的程序变得更有效,更通用,更易懂。4)有了C+标准,程序员所开发的软件产品具有更高的系统可移植性;标准化还大幅度地提高了程序质量,直接让用户受益;5)C+标准还在防止技术封锁、促进软件技术的交流、提高软件竞争力等方面起到了很好的作用;1.4 C+编程

7、流程1.4.1 编程过程 翻译的方式一般有两种,一种是解释型,也就是边读程序边翻译,翻译成机器代码后就执行。另一种是编译型,它是先整篇翻译成机器代码,保存在可执行程序文件中,然后启动该程序文件,运行获得结果。一般的编程操作流程为:编辑(edit)编译(compile)链接(link或make或build)调试(debug),该过程循环往复,直至完成1.4.2 最小样板程序#includeint main() std:couthello World.n; 1.4.3 编程风格1、注释(1)定义:为增加程序的可读性而在程序中附加的说明性文字。(2)形式: 以符号/打头,只占一行。C+特有的注释形式

8、。 包含在符号/与/之间,可占多行。继承C的注释形式。使用空行显示模块充分而合理地使用程序注释 给函数和全局数据加注释。不要注释不好的代码,应该重写。不要与代码矛盾。 2、命名(为常量、变量、函数取名)(1)名字必须符合标识符的规范。(2)标识符:由字母、数字、下划线组成,而且只能以字母、下划线打头。(3)名字不能是保留字(系统有固定用途的标识符)。(4)字母的大小写有区别。(5)名字最好能表达一定的含义。全局变量用具有描述意义的名字,局部变量用短名字。函数采用动作性的名字。3、在编程中,应仔细研究编译程序给出的错误信息和警告信息,弄清楚每条信息的确切根源并予以解决。4、用最规范的、最清晰的、

9、最容易理解的方式写程序。5、随时注意表达式计算过程和类型6、友好的程序界面,程序界面的方便性及有效性。两条原则:1、简单性原则(1)可以用一句话说清楚的,不要用一页纸去说明,可以用一个简单的语句完成的功能,不要用许多语句来完成。(2)不要写太长的函数,可以用函数调用来缩短函数的定义。(3)不要写太长的语句,可以用多条语句来代替一条语句。(4)如果文件太长,将它分成几个小文件。(5)不要用太多的嵌套,可以考用switch语句或者引入新的函数来解决问题。(6)定义类时,一个文件放一个类的定义。 2、一致性原则保持一致性。缩进形式显示程序结构,使用一致的缩行和加括号风格。1.5 程序与算法 1.5.

10、1 程序1、程序:数据+操作计算机程序或者软件程序(通常简称程序)是指一组指示计算机每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。 1.5.2 算法算法是求解特定问题的一组有限的操作序列。1、算法的特性、算法的特性算法的特性包括: 确定性。 能行性。 输入。 输出。 有穷性。满足前四个特性的一组规则不能称为算法,只能称为计算过程,操作系统是计算过程的一个例子,操作系统用来管理计算机资源,控制作业的运行,没有作业运行时,计算过程并不停止,而是处于等待状态。 1.5.3 编程与结构算法+数据结构=程序从动态性上说,程序仍然是计算机中的过程运行体,即操作系统中的进程。从静态

11、上说,程序不再是单纯的过程体(操作序列)了,不再是单纯的算法了,而是算法和数据结构的有机组织。程序含有更多的数据组织描述,而数据组织描述又包含有一系列的操作。 1.6 过程化程序设计1.6.1基于过程的程序设计 将复杂的过程简单地按功能分层从而达到解决问题的目的,这种思想就是过程化程序设计的思想。 例 有一些日期数据,放在数据文件abc.txt中,这些日期的年,月,日数值加起来若等于15,则收集,然后按日期从小到大的顺序打印出来。1.6.2结构化程序设计3、结构化程序设计方法主要体现在过程的功能划分与过程内部的编写规则上,因此它是一种规范的过程化程序设计思想。1、描述任何实体的操作序列只需用三

12、种基本控制结构。顺序 选择 循环2、程序设计中的各个过程体和组成部分应以模块表示高内聚,低外联1.7 对象化程序设计 1.7.1基于对象的程序设计程序 算法 抽象数据类型1.7.2 面向对象的程序设计1、对象:对象是用来描述客观世界中的客体的单位。面向对象是一种程序设计思想,就是在程序空间内,利用数据抽象的方法对客观世界的实体进行描述,即将一种数据结构和操作该数据结构的方法捆绑在一起,封装在一个程序实体内,从而实现了数据封装和信息隐藏。面向对象程序设计方法中的对象应该具有如下特性:自治性:指对象具有一定的独立操作能力;封闭性:指对象具有信息隐蔽的能力;通信性:指对象具有与其他对象通信的能力;被动行:指对象的状态改变需要外部的激发;暂存性:指程序中的对象是动态创建和消亡的。2、类:是具有相同属性特征的一组对象的抽象描述。类是面向对象程序的唯一构造单位,面向对象程序看上去就是由一些类组成的。面向对象程序设计方法对对象进行分类,按照共同的属性和行为特征把对象分组,这样,每个组内的对象就都具有改组的共同特性,把这些共同特性抽象出来,形成改组的代表并加以描述,就形成了类。 类 数据和操作的封装3、继承:类的复用继承是指一个对象直接使用另一对象的属性和方法。4、封装:就是把一个或者一些功能通过函数、类的方式封装起来,对外只提供一个简单的接口, 调用者不需要知道函数内部如何实现的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论