新聞中心
VB.NET作為一款優(yōu)秀的面向?qū)ο笳Z言,其中擁有很多獨(dú)特的性質(zhì)吸引著開發(fā)人員去使用它來完成程序開發(fā)。其中VB.NET共享成員就是被類的實例所共享的屬性、過程、字段等等。在VB.NET的繼承中,在所有的類的實例中把一個數(shù)據(jù)成員或函數(shù)的一個單獨(dú)的實例設(shè)置成共享是非常有用的。#t#

成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)十載經(jīng)驗成就非凡,專業(yè)從事網(wǎng)站建設(shè)、成都做網(wǎng)站,成都網(wǎng)頁設(shè)計,成都網(wǎng)頁制作,軟文營銷,廣告投放等。十載來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:028-86922220,我們期待您的來電!
共享成員獨(dú)立于任何一個特定的類的實例。共享的過程在對象中必須顯式的聲明。由于這個原因,在共享方法中,引用不共享的成員是允許的。公有的共享的成員可以遠(yuǎn)程的訪問,并且可以在對象中后期綁定。
注意:在其他的編程語言中,VB.NET共享成員也被稱為Static或者class成員。
有一個類庫,該類庫含有一些附加的過程,這些過程對于這個類庫而言是一些概念性的部分,需要單獨(dú)運(yùn)行,并需要用戶去聲明這個類中的一些類型。
假設(shè)開發(fā)了一個應(yīng)用程序,它需要知道有多少個用戶現(xiàn)在登錄了該應(yīng)用程序。當(dāng)用戶安裝了用戶的應(yīng)用程序后,注冊信息被寫入了注冊表,而且用戶的運(yùn)行程序每次在運(yùn)行的時候都要訪問用戶聲明的UserInfo對象。一個Long型共享成員UserCount就可以跟蹤用戶的個數(shù),并且用一個屬性CanCreateUser來檢查UserCount共享成員,是否要聲明已經(jīng)達(dá)到了登錄人數(shù)的極限***值,并且初始化UserInfo的值來決定是讓用戶進(jìn)入。
用戶也可以在以下情況使用VB.NET共享成員,假設(shè)有很多對象,而且這些對象需要共享一些信息。例如,假設(shè)已經(jīng)建立了一個制定行程計劃的軟件用來計算所選擇的一個旅游城市離國會大廈是不是中100里之內(nèi)。在City類中有Latitude和Longitude成員。對于半徑在100里之內(nèi)的城市,City的共享的NearCapitol屬性為"Incremented",而對于半徑在100里之外的城市,City的共享的NearCapitol屬性為"Decremented".
在以上這些情況時,如果沒有這些VB.NET共享成員的話,需要建立一個a.bas模塊來記錄這些信息,這樣做可能會給代碼的維護(hù)帶來一些困難,而且理解類也會更加困難.在一個類中保留共享成員會是用戶更好地理解它們的目的.而且在工程中,也將會更好地重用這些代碼.
下面這個例子聲明了一個具有一個屬性和共享數(shù)據(jù)成員的類.當(dāng)用戶運(yùn)行這個程序的時候,每一個PortDescriptor類的對象均有一個惟一的"Descript"屬性,但是共享著一個共享的數(shù)據(jù)成員Load,在對象PD1中改變Load屬性的話將會改變對象PD2的屬性"Load"的值,其代碼如下:
- Imports system
- Namespace ANameSpace
- Module Module1
- Class PortDescriptor
- Public Shared Load as Integer
- Private strDesc as String
- Property descript as String
- Get
- descript=strDesc
- End Get
- Set
- strDesc=Value
- End Set
- End Property
- End Class
- Shared Sub Main()
- Dim PD1 as PortDescriptor=
New PortDescriptor- Dim PD2 as PortDescriptor=
New PortDescriptor- PD1.descript="Idle"
- PD1.Load=80
- Console.WriteLine("PD1
Descript=:"&PD1.descript)- Console.WriteLine("PD1
Load=:"&PD1.Load)- Pd2.descript="Activr"
- Pd2.Load=540
- Console.WriteLine("PD2
Descript=:"&Pd2.descript)- console.WriteLine("PD2
Load=:"&PD2.Load)- Console.WriteLine("PD1
Descript now=:"&Pd1.descript)- Console.WriteLine("PD1 Load
now=:"&PD1.Load)- End Sub
- End Module
- End Namespace
VB.NET共享成員的具體使用方式就為大家介紹到這里。
本文名稱:VB.NET共享成員需要在何種情況下使用
網(wǎng)站路徑:http://m.fisionsoft.com.cn/article/ccshsej.html


咨詢
建站咨詢
