首页 > 代码库 > Delphi 函数的重载和作用域

Delphi 函数的重载和作用域

1.在delphi 中,我们可以使用相同的函数名来调用不同的函数,我们称这个函数为重载,函数的参数类型和参数的个数可以不同,用到的关键字overload;格式如下:

function addInt(x,y:integer):string;overload;
begin
  result := intToStr(x + y);
end;

function addInt(x,y,z:integer):string;overload;
begin
  result := intToStr(x + y + z);
end;

function addInt(x,y:integer;z:string):string;overload;
begin
  result := intToStr(x + y + strToInt(z));
end;

注意点:每个函数后面都需要加上:overload;

2.函数的作用域(局部和全局函数):

在单位文件下声明的函数只能应用于本单元,可以通过其他单元引用来使用函数;但是必须在被引用单位的接口部分声明函数,否则还是无法找到

如:

Unit1.pas文件

unit Unit1;

interface

uses
  windows, Messages, SysUtils;

uses 
  unit2;  //可以和上面的uses一起连写

implementation

procedure TForm1.Button1Click(Sender : TOBJect);
begin
  showmessage(addint(1,2,3));
end;

end.

Unit2.pas文件:

unit Unit2;
interface

uses
  windows, Messages, SysUtils;

function addint(x,y,z:Integer):string;  //必须在这里声明函数,才能被其他单位去引用

implementation

function addInt(x,y,z : integer):string;
begin
  Result := intToStr(x+y+z);
end;

end.

Delphi 函数的重载和作用域