电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> VB编程>>VB面向对象的程序设计-关键字Me:

VB面向对象的程序设计-关键字Me

来源:网络 | 2007-3-23 | (有5463人读过)

 关键字Me :     
我不知道大家对“Me”关键字的使用情况,不过它确实是一个比较有用的概念,在 C++ 中它叫做“this”,其实就像我们说话时用的人称代词“你我他”之类,谁说就是谁,并不总是确指一个人的。        

关键字“Me”返回对当前实体的引用。如果是在当前窗体使用“Me”,那么“Me”就是当前窗体的引用;如果是在当前类模块里使用“Me”,“Me”就是对此类产生的当前对象的引用。        

“Me”有什么用呢?我用大家都比较熟悉的窗体来举例吧。不用“Me”关键字的程序如下例:        

在“窗体1”中:       
Option Explicit       
Private Sub Form_Load()       
    If 出错 Then 显示错误并退出 窗体1, "未知错误"       
End Sub       

在“窗体2”中:       
Option Explicit       
Private Sub Form_Load()       
    If 出错 Then 显示错误并退出 窗体2, "未知错误"       
End Sub       

在“函数模块”中:       
Option Explicit       
Public Sub 显示错误并退出(当前窗体 As Form, 错误信息 As String)       
    MsgBox "窗体“" & 当前窗体.Name & "”出现错误:" & 错误信息       
    End       
End Sub       

而使用“Me”关键字的程序如下:        

在“窗体1”中:       
Option Explicit       
Private Sub Form_Load()       
    If 出错 Then 显示错误并退出 Me, "未知错误"       
End Sub       

在“窗体2”中:       
Option Explicit       
Private Sub Form_Load()       
    If 出错 Then 显示错误并退出 Me, "未知错误"       
End Sub       

在“函数模块”中:       
Option Explicit       
Public Sub 显示错误并退出(当前窗体 As Form, 错误信息 As String)       
    MsgBox "窗体“" & 当前窗体.Name & "”出现错误:" & 错误信息       
    End       
End Sub       

程序只有很小的变化,不过这很小的变化却让我们从不同对象的不同引用之中解脱出来,不必再关心当前窗体究竟应该是“窗体1”呢,还是“窗体2”,即使以后我们因为某种需要修改了窗体名,也一样不需要修改其调用的源代码。不过在“类”里,“Me”关键字更有用,因为在类被实例化以前是不知道自己究竟叫什么的,举例来说,有一个类“狼”,我们实例化时用“Dim 麦克 As 狼”,但是在“狼”类被定义时并不知道用户会把产生的实例叫做“麦克”,这时用“Me”来引用它,一样是对“麦克”的引用。这种类对自己产生的对象的引用我目前只用在了“系统回调函数”上,比如托盘程序“Tray”,因为在以前我的心得里讲过,就不多说了,另外各位还可以参考我写的“系统栏”模块上的做法。        
VB编程热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2021 电脑爱好者 版权所有 备案号:鲁ICP备09059398号