菜鸟问题一小个!(40分)

  • 主题发起人 主题发起人 Bigsun
  • 开始时间 开始时间
B

Bigsun

Unregistered / Unconfirmed
GUEST, unregistred user!
谁能给我讲讲函数定义在不同处的区别:例如下面的A B C D 函数:
代码:
Type 
   TForm1 = Class(TForm)
      ..........
      Procedure A();
   Private
      Procedure B();
   Public
      Procedure C();
End;
Var
   Form1 :TForm;
Procedure D();
implementation
............
 
(1)涉及到函数或过程的封装问题
(2)主要是在和别的Form进行交流时如何引用函数或过程
(3)局部和全局
D():哪个窗口都可直接用,且过程名前无需限制,如:D();
C():其它窗口引用时必须添上该过程所在的窗口,如Form1.C()
呵呵....
 
Procedure D()是一个普通的过程
而其它三个是一个属于类TFORM的过程
在其调用过程中需要传递一个隐含的self参数
声明在不同的位置,只是其使用时候的作用域不一样而已!
 
能否将A()
B();C();讲的详细一点点呢?
 
procedure A, procedure B, procedure C 是窗体类TForm1类的方法,

procedure A的访问权限是published,设计时在对象观察器中可以出现,由于缺省的
访问权限就是published,所以published可以省略。
procedure B是窗体类的保护方法成员。
procedure C是窗体类的私有窗体方法成员。

procedure D 是单元的一个过程。
 
a() 表示published发布的
b()表示私有的,只有在本class可以引用
c()表示共有的,别的地方都可以用,可以在别的对象里面引用Tform1对象
然后form1.c()进行调用
d()表示全局的,本工程内只要引用了本单元的单元里面就可以直接调用。她不属于Tform1对象
 
a() 表示published发布的
b()表示私有的,只有在本class可以引用
c()表示共有的,别的地方都可以用,可以在别的对象里面引用Tform1对象
然后form1.c()进行调用
d()表示全局的,本工程内只要引用了本单元的单元里面就可以直接调用。她不属于Tform1对象
 
谢谢了,可
就40分,你也要,他也要,给谁好?
 
在INTERFACE部分的函数都是本单元的接口函数,但依据其前面的标识符不同其
作用域也就不同最前面的函数A属于默认的PUBLISHED,意思是程序项目内的所
有单元都可以调用。而函数B则是窗体类的成员函数,只有本单元内部可以访问,
 
a() 表示published发布的
b()表示私有的,只有在本class可以引用
c()表示共有的,别的地方都可以用,可以在别的对象里面引用Tform1对象
然后form1.c()进行调用
d()表示全局的,本工程内只要引用了本单元的单元里面就可以直接调用。她不属于Tform1对象
a() 表示published发布的
b()表示私有的,只有在本class可以引用
c()表示共有的,别的地方都可以用,可以在别的对象里面引用Tform1对象
然后form1.c()进行调用
d()表示全局的,本工程内只要引用了本单元的单元里面就可以直接调用。她不属于Tform1对象
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
515
import
I
I
回复
0
查看
480
import
I
后退
顶部