面向对象基础:引用

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1、变量本身不包含任何值。

举个例子:

建立一个缺省的VB.net窗体程序,在Form_Load中写下

Dim F1 as Form1

这并不表示F1就是一个实实在在的Form1了。不信的话你再写下

F1.Text = "Hello!"

运行一下看看,出错了不是?因为F1本身不包含任何值。那么F1到底是什么呢?

2、变量本身是引用。

引用的意思就是说它必须指向一个实实在在的东西。这个实实在在的东西是什么呢?是对象。现在在定义后面加上:

F1 = Me

这样你运行一下。窗体的标题就变成"Hello!"了。

F1 = Me表示F1这个变量指向了Me。当一个变量指向一个可用的对象之后,我们才能用它。那么可用的对象是怎么来的呢?一般是从构造函数中来的。

我们接下来再加上:

Dim F2 as Form1

F2 = F1

F2.Text = "ByeBye!"

运行一下,窗体的标题变成了“Byebye!”。

这里F2也是一个变量,也是一个引用,但是F2=F1并不表示F2是F1的一个拷贝,也不表示F2指向F1本身,而是表示F2指向F1所指向的对象。没错,F1,F2指向同一个对象。

总之,变量要指向对象。在面向对象语言中,“赋值”实际上就是“将变量指向对象”。如果你的程序中出现“未将对象引用设置到对象的实例”的话,那肯定是变量没有指向有效的对象。

那么在F2 = F1执行之前,F2是什么呢?在VB.net中,如果一个变量没有指向任何有效的对象,那么它就指向nothing。

to be continued...

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航