05:08:3205:08:321程序编码•程序设计语言•编码风格•程序调试•面向对象程序设计05:08:3205:08:322程序编码程序设计语言分类•面向机器语言机器语言,汇编语言•高级语言–基础语言FORTRANBASIC–结构化语言C,Pascal–面向对象语言C++,Java•第四代语言SQL语言05:08:3205:08:323程序编码-面向对象语言•纯面向对象语言的目标:•着重支持面向对象语言方法研究和快速原型的实现•混合型面向对象语言的目标:•提高运行速度•使传统程序员容易接受面向对象思想。•成熟的面向对象语言通常都提供丰富的类库和强有力的开发环境。05:08:3205:08:324•4GL兼有过程性和非过程性的两重特性。•非过程部分:•程序员规定条件和相应的动作是过程性的部分,并且指出想要的结果•过程部分:•由4GL语言系统运用它专门的领域的知识来填充过程细节。程序编码-4GL语言4GL语言的特点易学易用、代码效率高、维护和调试简单,把程序员从复杂的底层控制中解放出来05:08:3205:08:325支持4GL(第四代语言)工具:VisualBasic和Delphi,PowerBuilder,重点:•将结构化的逻辑在GUI下实现•将过去结构化的代码中制作界面的部分剥离•逻辑部分附着在各种对象的事件中,操纵对象的行为,完成整个应用的成功移植。程序编码-4GL语言05:08:3205:08:326程序设计语言特点程序设计语言特点1.命名约定方式正确:使用完整描述符来准确地描述变量、字段或类,如firstName、iTotalGrade:代表他们所包含的内容错误:x1、y1或fn:较短而容易输入,但是并不代表他们的内容,对代码的理解、维护没帮助。05:08:3205:08:3272.类型说明作用1)定义了对象或变量的存储方式和使用方式2)编译时发现对象或变量的使用是否合法,减少程序错误何时申明:申明对象名字时,同时说明对象类型面向对象:进一步,封装了对数据的操作程序设计语言特点05:08:3205:08:328程序设计语言特点3.变量初始化•C++中的NULL的作用•忘记初始化指针•voidSomeFunction(){int*pnVarintnVal;nVal=*pnVar;//Badenough.nVal++;*pnVar=nVal;//Muchworse.}指针变量pnVar从未被赋值。从一个混乱信息指针中读数糟糕的很,向一个混乱信息指针写数据更糟,因为它将导致一些不知道什么地方的数据被重写。05:08:3305:08:339程序设计语言特点4.程序对象的局部化•提供局部变量的两种途径:•单层局部性:FORTRAN•多层局部性:块结构语言,如PL/SQL•存储过程是一个PL/SQL程序块•导致问题:程序单元的独立编译05:08:3305:08:3310程序设计语言特点5.程序对象共享性•全局变量->静态变量6.循环控制结构While(I>100){输入I++//判断是否I>100?计算输出}05:08:3305:08:331105:08:3305:08:3312程序设计语言特点在某些程序设计语言中,由CASE表达式选定执行的语句,取决于所有可能执行的语句的排列次序switch(number){case>9:B;case>7:A;default:C;}switch(number){case>7:A;case>9:B;default:C;}7.分支控制结构05:08:3305:08:3313程序设计语言特点8.异常处理•例子:•Java异常处理形式Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。05:08:3305:08:3314•下面是Java异常处理程序的基本形式:try//执行时程序块catchExceptionType1e//对ExceptionType1的处理catchExceptionType2e//对ExceptionType2的处理throwe//再抛出这个“异常”finally•try程序块和catch语句05:08:3305:08:3315程序设计语言特点9.独立编译•程序开发、调试的方便•基于维护成本的考虑05:08:3305:08:3316语言的选择1理想标准1)理想的模块化机制。2)良好的控制结构、丰富的数据结构、健壮的数据安全性。3)较好的可阅读性、可移植性、可维护性。4)良好的开发环境与开发工具。5)编译程序能尽可能多地发现程序中的错误,有良好的独立编译机制。05:08:3305:08:3317语言的选择2现实选择1)软件兼容性的要求2)系统用户的需求3)程序设计人员的知识水平4)语言自身的功能及...