数据库开发技术课件第5章ObjectPascal程序设计语言.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库开发技术课件第5章ObjectPascal程序设计语言.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 开发 技术 课件 ObjectPascal 程序设计语言
- 资源描述:
-
1、第5章 Object Pascal程序设计语言5.1 5.1 常量与变量常量与变量5.2 5.2 数据类型数据类型5.3 5.3 运算符运算符5.4 5.4 语句语句5.5 5.5 过程与函数过程与函数5.6 5.6 程序结构程序结构5.7 5.7 面向对象程序设计理论面向对象程序设计理论5.1 常量与变量5.1.1 声明变量5.1.2 声明常量返回本章首页5.1.1 声明变量变量是程序代码中代表一个内存地址的标识符,而此地址的内存内容在程序代码执行时可以被改变。在所有变量说明以前加上保留字Var。变量说明左边是变量的名称,右边则是该变量的类型,中间用冒号隔开。另外,在声明变量时注意:一是变量
2、名要符合Pascal语言关于标识符的规则;二是必须指定变量的类型,三是尽量使定义的变量或标识符有意义,以便于记忆。返回本节返回本节5.1.2 声明常量1纯常量:是一种预先定义的标识符,其值在定义后永远不会改变。5.类型常量:用于保存数组、记录、过程以及指针等类型的值。类型常量不能出现在常量表达式中。声明类型常量的语法规则为:Const Identifer:Type=Value返回本节返回本节5.2 数据类型5.2.1 简单类型5.2.2 字符串类型5.2.3 结构数据类型5.2.4 指针类型返回本章首页5.2.1 简单类型1有序类型(1)整数类型(2)字符类型(3)布尔类型(4)枚举型(5)子
3、界类型5.实数类型 包括Real48、Single、Double、Extended、Comp和Currency。通常使用的Real和Double类型是等价的。返回本节返回本节5.2.2 字符串类型Delphi主要支持两种类型的字符串:ShortString和AnsiString。ShortString数据类型主要是为了能和Delphi1.0和Borland Pascal的早期版本兼容。String既可以是ShorString类型也可以是AnsiString类型,缺省是AnsiString类型。返回本节返回本节5.2.3 结构数据类型 1、集合类型 2、数组类型 3、记录类型 4、文件类型 5、
4、类类型 6、类引用类型 7、接口类型等返回本节返回本节5.2.4 指针类型在Delphi中创建一个数据结构时,首先要分配内存空间。分配的内存空间用于存储数据结构中的数据。使用指针可以使程序不必每次需要时都去分配,只要申请一次,其他过程或函数使用同一块内存空间时,只需使用该内存空间的地址即可。在运算上,指针变量与一般变量无区别,如p:=q;。当要引用指针所指向的变量时,必须在指针后使用“”。返回本节返回本节5.3 运算符5.3.1 算术运算符5.3.2 逻辑运算符5.3.3 关系运算符5.3.4 运算符的优先级返回本章首页5.3.1 算术运算符算术运算符用于完成二元或一元算术运算。(见表表5-1
5、和和表5-2)运算符运算符功能功能运算数类型运算数类型运算结果类型运算结果类型+加法运算加法运算IntegerRealIntegerReal-减法运算减法运算IntegerRealIntegerReal*乘法运算乘法运算IntegerRealIntegerReal/除法运算除法运算IntegerRealRealRealDiv整型除法整型除法IntegerIntegerMod计算余数(取模)计算余数(取模)IntegerInteger表5-1 二元运算符表表5-2 一元运算符一元运算符运算符运算符功能功能运算数类型运算数类型运算结果类运算结果类型型+同号同号IntegerRealIntegerR
6、eal-取负值取负值IntegerRealIntegerReal返回本节返回本节5.3.2 逻辑运算符逻辑运算符实际上可分为两类:逻辑运算符逻辑运算符实际上可分为两类:逻辑运算符和布尔运算符。(见和布尔运算符。(见表表5-3 和和表表5-4)运算符运算符功能功能运算数类型运算数类型运算结果类型运算结果类型Not按位按位非非IntegerBooleanAnd按位按位与与IntegerBooleanOr按位按位或或IntegerBooleanXor按位按位异或异或IntegerBooleanShl按位左移按位左移IntegerBooleanShr按位右移按位右移IntegerBoolean表表5-
7、3 逻辑运算符逻辑运算符表表5-4 布尔运算符布尔运算符 运算符运算符功能功能运算数类型运算数类型运算结果类型运算结果类型Not真假值反向真假值反向BooleanBooleanAnd逻辑逻辑and运算运算BooleanBooleanOr逻辑逻辑or运算运算BooleanBooleanXor逻辑逻辑xor运算运算BooleanBoolean返回本节返回本节5.3.3 关系运算符表5-5 关系运算符(1)运算符运算符功能功能运算数类型运算数类型运算结果类运算结果类型型=等于等于兼容的简单类型、类类型、集合类型、兼容的简单类型、类类型、集合类型、字符串类型字符串类型Boolean不等于不等于兼容的简
8、单类型、类类型、集合类型、兼容的简单类型、类类型、集合类型、字符串类型字符串类型Boolean大于大于兼容的简单类型、字符串类型兼容的简单类型、字符串类型Boolean=大于或大于或等于等于兼容的简单类型、字符串类型兼容的简单类型、字符串类型Boolean=包含包含兼容的集合类型兼容的集合类型BooleanIn属于属于兼容的集合类型兼容的集合类型Boolean表5-5 关系运算符(2)返回本节返回本节5.3.4 运算符的优先级表5-6 运算符的优先级运算符运算符优先级优先级分类分类Not1(最高)(最高)一元运算符一元运算符*,Div,Mod,Shl,Shr,as2乘法运算符乘法运算符,Or,
9、Xor3加法运算符加法运算符=,=,In4关系运算符关系运算符返回本节返回本节5.4 语句5.4.1 赋值语句5.4.2 块语句5.4.3 控制语句返回本章首页5.4.1 赋值语句下面的例子就是一个最简单的赋值语句:X:=Y+Z;在赋值语句的左边是此赋值的数据变量,右边是一个数值或者表达式,中间用:=连接。返回本节返回本节5.4.2 块语句块语句是一种把若干简单语句组合成复杂语句的方式。经常使用的块语句是BeginEnd语句,下面的例子就是一个简单的块语句:Begin A:=5;C:=A*8/2;End;返回本节返回本节5.4.3 控制语句Object Pascal使用控制语句来控制程序的执行
10、顺序。7个是分支语句,3个是循环语句:(1)分支语句 If语句、Case语句、GOTO语句、Break语句、Continue语句、Exit语句、Halt语句。(2)循环语句 Repeat语句、While语句、For语句返回本节返回本节条件选择结构(一)if J 0 thenbegin Result:=I/J;Count:=Count+1;endelse if Count=Last then Done:=Trueelse Exit;分支语句条件选择结构(二)case selectorExpression ofcaseList1:statement1;.caseListn:statementn;e
11、lsestatements;end;分支语句两种选择结构比较两种选择结构比较case I of 1.5:Caption:=Low;6.9:Caption:=High;0,10.99:Caption:=Out of range;else Caption:=;end;if I in 1.5 then Caption:=Low else if I in 6.10 then Caption:=High else if(I=0)or(I in 10.99)then Caption:=Out of range else Caption:=;分支语句循环结构(一)while I 0 dobegin if O
12、dd(I)then Z:=Z*X;I:=I div 2;X:=Sqr(X);end;循环语句循环结构(二)for I:=1 to 10 doBegin AI:=I;end;for I:=10 downto 1 doBegin AI:=I;end;循环语句循环结构(三)repeat K:=I mod J;I:=J;J:=K;until J=0;循环语句循环结构控制语句BreakContinue循环语句5.5 过程与函数5.5.1 过程与函数的定义和调用5.5.2 过程与函数的参数返回本章首页5.5.1 过程与函数的定义和调用1过程与函数的定义 每一个过程或函数都从表头开始,表头包含其识别名称及外
13、部传入的参数,过程开始处为保留字Procedure,如:Procedure Name(Const Peter:Integer);F u n c t i o n N a m e(C o n s t P e t e r:Integer):integer;函数与过程不同的地方是,函数有返回值,这样在函数的首部就多了一个返回结果类型。5.过程与函数的调用调用过程的语句只是一个独立的语句,而调用函数的语句不是一个独立的语句,它必须要返回一个值,且返回数值数据类型必须与定义相同。例如:MinNumber:=Min(People);另外也可以将函数调用直接作为操作数。例如:X:=Min(People)+50
14、;5.指示字(1)External:表示过程或函数是外部的,通常用于从动态连接库中引用过程或函数。(2)Assembler:表示过程或函数是使用嵌入式汇编语言编写的。(3)Forward:表示过程或函数是向前查找的。该过程或函数的定义必须在后面的某个地方定义。4与调用约定在声明函数或过程时,可以在附属块中指定函数过程或函数的参数传递方式。主要有Register,Pascal,Cdecl,Stdcall,Safecall等五种传递方式。缺省的调用方式是Register。返回本节返回本节5.5.2 过程与函数的参数 经常用到的参数主要有以下几种:1传值参数传值参数会把外部传入的值作一份拷贝,保存在
15、此参数内,因此在过程内对此参数所作的任何改变,都不会影响外部传入的值。参数前不加任何的保留字,即为传值参数。5.引用参数通过引用来传递参数时,允许过程或函数改变参数的值。通过引用传递的参数由关键字Var表示。5.常量参数在过程或函数的运行当中,如果形参的值不变,就可以使用常量来传递参数。与引用传递的参数不同的是,将参数前加上的保留字Var改为Const。返回本节返回本节结束放映返回本章首页5.6 程序结构5.6.1 程序模块结构5.6.2 库单元(unit)结构procedure TForm.Button1Click(Sender procedure TForm.Button1Click(Se
16、nder TobjectTobject););varvar 程序模块的说明部分程序模块的说明部分 Name:string;Name:string;begin begin 程序模块的语句部分程序模块的语句部分 Name:=Edit1.Text;Name:=Edit1.Text;Edit5.Text:=Welcome to Delphi+Name;Edit5.Text:=Welcome to Delphi+Name;end;end;程序模块结束程序模块结束 5.6.1 程序模块结构5.6.2 库单元(unit)结构unit interfaceuses 公有说明implementationuses
17、私有说明过程和函数的执行部分 initialization 选择性的选择性的初始化程序end.5.7 面向对象程序设计理论5.7.1 面向对象的程序设计方法基础5.7.2 对象和类5.7.1 面向对象的程序设计方法基础面向对象的程序设计方法(Object Oriented Programming)简称为OOP,它的基本元素是类(Class)和对象(Object)。使用对象模拟自然的或抽象的实体,对用户掩盖了实现的复杂性(封装),并且能使程序员付出尽可能小的代价,获得尽可能大收益(继承),提高软件的开发效率。5.7.2 对象和类类是对事物的特性及操作的抽象描述,对象是类的实体。从C语言的角度来看
18、,类是结构的自然演化,类就是包含数据声明和函数声明的结构。类既包含了数据又包含了代码,对类中成员的存取是受控制的,这一控制不仅针对数据,也针对代码,类的这个特性被称为封装。封装的说明计算过程的演变:手工计算全部手工和脑力完成计算器(面向过程)部分借助非人力因素,但仍需对过程进行控制和管理计算机(面向对象)完全借助非人力因素,运算一旦开始,可以无需人工的介入类的说明The person watching TV does not need to know the TV sets structure and how it works inside.But he needs to control th
19、e TV set.TV needs to provide an interface.Internal State对象的例子对象的例子:TV开请求开请求变更频道变更频道调节声音调节声音Turn OnTurn OffChange ChannelAdjust VolumeOthers.被封装的行为和状态被封装的行为和状态关请求关请求类的说明特性:脚个数物理位置长度宽度高度形状操作:搬动改造“桌子”类定义类(最简单实例)关键字class引导类声明Type是类型声明符类体类定义结束TypeTdate=class Month,Day,Year:Integer Procedure SetValue(m,d,
20、y:Integer);Function LeapYear:Boolean;End;定义类(最简单实例)类函数定义前缀Procedure Tdate.SetValue(m,d,y:Integer);Begin Month:=m;Day:=d;Year:=y;End;Function Tdate.LeapYear:Boolean;Begin if(Year mod d0)then LeapYear:=false else if(Year mod 1000)then Result:=True else if(Year mod 4000)then LeapYear:=false else Result
展开阅读全文