vb中模块级变量是全局变量吗

 我来答
Archlen
推荐于2017-11-27 · TA获得超过260个赞
知道小有建树答主
回答量:297
采纳率:100%
帮助的人:156万
展开全部

我们在模块中定义的变量有私有变量和公共变量。private和public。无论哪一种,都是在整个模块中可以被调用的。

这个相对于在过程中dim的变量而言,范围要大的多,是一个模块内的“全局变量”。

而Public则可以在各个窗体间通用。


VB中的模块分为两种,一种是普通模块。一种是类模块。

普通模块的功能一般是把一些函数的集合。

之所以将这些函数集中在一个独立的模块中,就是因为这些函数和程序各个运算过程密切相关,即有可能在多个窗口被调用。

另一方面,独立的模块能使得主程序的代码更简洁。

这些写在模块里面的函数既然能被其他地方调用,则函数对外应该是Public。

但是模块内并不排除使用私有变量。(Private),甚至不排除使用私有函数。

只有在模块中声明是Public类型的变量及函数,才是全局性的。


在类模块中,比如我们定义一个计算类。实现加减乘除,那么这个类对外提供的就是属性和方法。

这些属性和方法的定义应该是Public,任何地方任何时候都可以访问。

比如我们这个计算类是对两个数字进行运算。那么我们可以设置2个属性值。一个是numStr1,一个是numStr2。而在类中表述该属性的变量则是私有的。示范如下:

Private num1 As String          '需要计算的数字1,字符串型
Private num2 As String          '需要计算的数字1,字符串型
Private method As Integer       '计算的方法数字表示,1、加法;2、减法;3、乘法;4、除法;5、开方;6、阶乘
Private rlt As String           '计算的结果,字符串型
Private accuracyLong As Long    '数据精度,默认长度100

'属性的读取与赋值
Public Property Get numstr1() As String 
    numstr1 = num1
End Property
Public Property Let numstr1(str As String)
    num1 = str
End Property
Public Property Get numstr2() As String
    numstr2 = num2
End Property
Public Property Let numstr2(str As String)
    num2 = str
End Property
Public Property Get result() As String
    result = rlt
End Property
Public Property Let result(str As String)
    rlt = str
End Property

Public Property Get calcMode() As Integer
    calcMode = method
End Property

Public Property Let calcMode(s As Integer)
    method = s
End Property

Public Property Let numberLong(n As Long)
    accuracyLong = n
End Property
Public Property Get numberLong() As Long
    numberLong = accuracyLong
End Property

Public Property Let calcString(s As String)
Select Case s
    Case "+", "加"
        method = 1
    Case "-", "减"
        method = 2
    Case "×", "*", "乘"
        method = 3
    Case "÷", "/", "除"
        method = 4
    Case "根", "根号", "开方", "平方根", "√"
        method = 5
    Case "!", "!", "阶乘"
        method = 6
    Case Else
        method = 0
End Select

End Property


在类中对外的方法都是Public,全局性的。但是会在类中存在大量的私有函数。这个时候,我们可以看成public出来的就像一个代理人,一个接口。屏蔽了很多细节。而给我们一个简单的任务完成界面。

这种方式,非常适合多人共同完成程序。也时候一个人分阶段完成一个较大程序。

回答已经超出了问题范围很多。就到这里吧。

匿名用户
2015-05-22
展开全部
轻微的话是可以采取药物治疗,严重的话,还是需要手术治疗的,平时多吃芹菜、青菜、豆类食物,多吃鸡、鱼、排骨等,不要吃刺激性上火的食物。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-05-22
展开全部
不是的,模块中的变量还是要声明的,比如,public声明的就是全局变量。private声明的就不是了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
御绿戎0F5
2015-05-22 · 超过65用户采纳过TA的回答
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:83.7万
展开全部
在类模块中,用PUBLIC声明的才是全局变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式