首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Public与Var中定义变量的议论

2013-08-10 
Public与Var中定义变量的讨论!unit Unit1interfaceusestypeTForm1class(TForm)privatepublicADOQuery1:T

Public与Var中定义变量的讨论!
unit Unit1;
interface
uses
type
TForm1=class(TForm)
private

public
ADOQuery1:TADOQuery;//#1
end;

var
Form1:TForm1;
ADOQuery1:TADOQuery;//#2

implementation

在#1#2定义的ADOQuery1的区别:
1、#1定义的变量为类成员,#2为全局变量
2、其它单元引用时,#1:TForm1.ADOQuery1,#2:只要Uses申明,直接写ADOQuery1就可以
请问其它还有区别吗?#1还是#2定义变量好一点?

[解决办法]
作用域不同,调用不同
#1类成员变量要先创建类实例才能使用;#2单元变量,可以直接使用
在别的单元使用时就特别明显了;

至于用那个好些,其实从他们的区别已经看出来了,各有好处,这要看需求来使用

[解决办法]
1、#1定义的变量为类成员,在你现在举例中,它是窗体的变量,是每个窗体实例各自独立、互不干扰的。
2、#2为单元的变量,是各个实例共同拥有的,一个实例改变了它,其他实例再访问它时,都会得到这个改变后的值。
 

热点排行