Delphi整理七(function and procedure)

过程与函数

过程(procedure) and 函数(function)———-实现面向对象的重要手段

通用过程的定义

Procedure<过程名>[(<形参表>)];
[局部声明];
begin
<语句序列>;
end;

<形参表>的格式为:

[Const|Var]<形参名>:类型

1)保留字Procedure是定义通用过程的首部,’过程名’要遵循规则
2)<形参表>同类型逗号隔开,不同类型分号。无形参,可省略括号
3)局部声明可以:常量、变量、类型
4)程序开始begin,end结尾带分号

通用过程的调用

调用格式:

过程名(参数表);

1)参数表中个数、类型、顺序一致
2)如果形参用前冠var,对应实参必须是变量,否则同类型表达式就好

函数:和过程一样,函数也是子程序的一种形式。区别:函数有返回,过程没有
函数定义格式:

Function<函数名>[(形参表1)]:<函数返回类型>;
[局部声明];
begin
<语句序列>;
end

<形参表>个格式:

[Const|Var]<形参名>:类型
  • 1

函数体中不给函数名赋值,函数返回默认值(数值)0、(布尔)false、(字符)空字符

参数传递:

变量参数:参数前冠var,表示可变参数。
传递方式:地址传递。参数值改变影响实际参数值。
例,(console Application中测试)
//这是一个简单的过程

procedure ce(a:integer;var b:integer);
begin
b:=a;
end;
//测试主体
var
result:integer;
begin
ce(1,result)
write(inttostr(result));
//传入1和result,把结果转化为int型,输出
readln;
end;

如果,b不是var前冠,结果为2130567168

值参数和常量参数

参数前冠const:常量参数,无var也无const就是值参数
值参数:传递过程不是一个存储单元(地址),形参改变不会影响实参
常量参数:是否实参,结果不变
默认参数:在定义的时候给值
例,(过程)

procedure <方法名>(xm:string;xb:widestring='男';mz:string='汉族');
  • 1

139页

子程序的嵌套与递归

1)在子程序(函数或过程中)定义了另外的子程序(function or procedure),称为(function or procedure)的嵌套。
2)子程序(function or procedure)直接或间接调用自己。有分直接和间接递归

变量的作用域

公有变量:

单元接口 interface决定了本单元哪些变量是公有的。
一个单元需要用如(DMata),只需在uses中引入该单元

私有变量:

在私有部分声明,只能被本单元使用
局部变量:(多用)
只能在该子程序中有效
全局变量:(少用全局,防止全局变量副作用)
需要多个子程序之间交换数据,则可以通过全局变量

猜你喜欢

转载自blog.csdn.net/wojiuguowei/article/details/85601012
今日推荐