unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Edit2: TEdit;
procedure Msg(str:string);............................A
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations } procedure Msg(str:string);............................B
public
{ Public declarations }
procedure Msg(str:string);............................C
end;var
Form1: TForm1;
procedure Msg(str:string);............................D
implementationuses DateUnit;{$R *.dfm} 我现在有个过程 procedure Msg(str:string);我分别把它放在A,B,C,D有何不同? 请那位大侠分别详细讲解一下?A处与B处,C处与D处的区别?多谢
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Edit2: TEdit;
procedure Msg(str:string);............................A
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations } procedure Msg(str:string);............................B
public
{ Public declarations }
procedure Msg(str:string);............................C
end;var
Form1: TForm1;
procedure Msg(str:string);............................D
implementationuses DateUnit;{$R *.dfm} 我现在有个过程 procedure Msg(str:string);我分别把它放在A,B,C,D有何不同? 请那位大侠分别详细讲解一下?A处与B处,C处与D处的区别?多谢
B: 类的方法,属于private区
C: 类的方法,属于publick区
D: 全局函数,不属于TForm1类的函数
B区:私有成员区
C区:公共成员区
D区:不属于类成员了,仅仅是一般的过程。
B: 类的方法,属于private区
C: 类的方法,属于publick区
D: 全局函数,不属于TForm1类的函数
private里的东西只有类本身和, 同在一个单元里的类可以看到, public里,就是在哪都可以看到, (尽量少用,除非提供接口), published里, 和public差不多, 只是可以在object inspector里看到
不希望与其他类交互的放在private
与其他类的接口放在public
D区:除了子函数以外,很少使用
全局函数:整个工程中都可以访问,而且有可能共享给其它工程。这类函数可以放在一个单独的Unit文件里。
局部函数:只有本Unit文件可以引用,这类函数一般放在Unit文件的implementation段。
过程或函数内部过程或函数:如果某个函数或过程的调用只出现在某个函数或过程里,则可以在过程或函数里面定义这个函数或过程。
proceudre aaa
function getname:string;
begin
end;
var
strName:string;
begin
strName:=getname;
end;
类成员:作为类的一个成员出现。具体类成员的访问属性可以参考相关书籍。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Edit2: TEdit;
procedure Msg(str:string);............................A
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations } procedure Msg(str:string);............................B
public
{ Public declarations }
procedure Msg(str:string);............................C
end;var
Form1: TForm1;
procedure Msg(str:string);............................D
implementationuses DateUnit;{$R *.dfm}procedure Msg(str:string);............................E
begin
.......
end
写在E处 有如何理解呀 ? 是不是效果和写在d处一样?
还有一点说一下:在编译指令($M-)时A区等同C区
B: 类的方法,属于private区
C: 类的方法,属于publick区
D: 全局函数,不属于TForm1类的函数
以上注意与类方法区分.
private:
protected:
_published:
automitected:分别是公有,私有,保护,发布和自动