VB.NET共享變量基礎(chǔ)概念詳解
在這篇文章中將會(huì)針對(duì)VB.NET共享變量的基本概念進(jìn)行一個(gè)詳細(xì)的介紹,希望初學(xué)者可以通過本文介紹的內(nèi)容對(duì)這一方面的知識(shí)點(diǎn)有一個(gè)詳細(xì)的認(rèn)識(shí),并從另一角度提高對(duì)VB.NET這一語言認(rèn)知程度。#t#
我們還可以創(chuàng)建另外一種共享成員。有時(shí)候類的所有實(shí)例需要共享一個(gè)數(shù)值,有時(shí)候每個(gè)特定類型的對(duì)象要共享相同的變量,這些時(shí)候都可以通過使用共享變量來實(shí)現(xiàn)目的。
一個(gè)共享變量可以使用Shared關(guān)鍵字來聲明,這一點(diǎn)很象共享方法的聲明:
- Public Class MyCounter
- Private Shared
mintCount As Integer - End Class
跟共享方法一樣,我們也可以根據(jù)需要來設(shè)置共享變量的作用域。在缺省狀態(tài)下兩者就不一樣了,共享方法是Public,而共享變量是Private。
總而言之,我們要養(yǎng)成一個(gè)好的習(xí)慣:定義方法和變量的作用域而不使用缺省值,以避免混亂。
關(guān)于共享變量的一件重要的事情是它們?cè)谒蓄惖膶?shí)例中都是公用。我們可以鍵入如下的代碼來加強(qiáng)我們的類:
- Public Class MyCounter
- Private Shared mintCount
As Integer- Public Sub New()
- mintCount += 1
- End Sub
- Public ReadOnly Property
Count() As Integer- Get
- Return mintCount
- End Get
- End Property
- End Class
仔細(xì)看看上面的代碼:當(dāng)我們?yōu)轭悇?chuàng)建了實(shí)例時(shí),計(jì)數(shù)器就增一。+=操作符是一個(gè)在VB.NET新有的。
在任何時(shí)候我們可以通過Count屬性來取出count數(shù)值。這樣,如果我們運(yùn)行下面的客戶代碼,我們可以得到結(jié)果為3。
- Protected Sub Button4_Click
(ByVal sender As Object, _- ByVal e As System.EventArgs)
- Dim obj As MyCounter
- obj = New MyCounter()
- obj = New MyCounter()
- obj = New MyCounter()
- MsgBox(obj.Count, MsgBoxStyle.
Information,counter)- End Sub
如果我們?cè)俅芜\(yùn)行這段程序,將可以得到6、9等等。只要我們的應(yīng)用程序繼續(xù)運(yùn)行計(jì)數(shù)器就保持有效,也就是說一旦我們結(jié)束應(yīng)用程序計(jì)數(shù)器就不再起作用。
這項(xiàng)計(jì)數(shù)對(duì)于服務(wù)器的處理過程是十分有用的,因?yàn)樗梢暂p松地不停地進(jìn)行計(jì)數(shù)。這個(gè)數(shù)值只有在處理過程重新開始地時(shí)候才被復(fù)位。
全局變量
對(duì)于共享變量另外一個(gè)通常的應(yīng)用是提供了全局變量的類型。給定一個(gè)Public作用域的共享變量:
- Public Class TheClass
- Public Shared
MyGlobal As Integer- End Class
我們可以在客戶代碼中使用這個(gè)變量。
- TheClass.MyGlobal += 5
這個(gè)變量將在我們應(yīng)用程序的任何地方都是有效的,它提供了一個(gè)很好的機(jī)理來在組件、類、模塊等等之間來共享數(shù)值。