这一切都取决于可见度。
单位接口科宣布的类型、变数、常数、程序和职能(但不属于类别和其他类型定义的范围)可见于其他单位,而单位执行部分宣布的类型、变数、常数、程序和职能只能在同一单位使用(仅低于声明)。 因此,如果你需要某个单位的类型/变数/功能/......,但并不期望识别器在单位之外具有意义,那么,在执行工作科宣布这些识别器在需要之前是正确的。
此外,在states上,他们的识别特征可以宣布为私人、严格私人、公共、受保护和公布。 这又由于不同的可见度。 私人识别器只能在班级内使用(或同一单位界定的其他班级,除非strict<>/em> private),等等。
此外,注意到:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
alpha: integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
var
beta: integer;
implementation
{$R *.dfm}
end.
由于<代码>alpha>/code>是 > /em>TForm1
的成员,这一类别的每一例,即这一类别的每一件标的(即该类别的每一种形式)都将有own<>>>>>>>>alpha/code>。 另一方面,在任何类别外的单位申报的<代码>>>为“单位1”,即每栏<>TForm1。 物体将载于<条码>。 (然后是“阶级变量”和此类变量。) 详情请见文件。
(此外,你可能已经知道这一点,但情况类似。)
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm3 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
begin
beep;
end;
end.
页: 1 第一项提及这一职能是声明,它是<条码>内幕/代码”部分的类别声明的一部分,其他类别和单位将看到这一点。
最后,我谨建议正式文件Delphi,该文件非常好。 可查阅http://docwiki.embarcadero.com/RADStudio/en/Delphi_Language_Guide_Index 。