您好,登錄后才能下訂單哦!
本篇內容介紹了“VB.NET共享成員需要在什么情況下使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
VB.NET作為一款優秀的面向對象語言,其中擁有很多獨特的性質吸引著開發人員去使用它來完成程序開發。其中VB.NET共享成員就是被類的實例所共享的屬性、過程、字段等等。在VB.NET的繼承中,在所有的類的實例中把一個數據成員或函數的一個單獨的實例設置成共享是非常有用的。
VB.NET繼承實現多態應用方法介紹
VB.NET接口實現多態實際代碼編寫
VB.NET并發性判斷線程狀態
VB.NET ProgressBar控件基本概念講述
VB.NET ToolBar控件在實際應用中作用體現
共享成員獨立于任何一個特定的類的實例。共享的過程在對象中必須顯式的聲明。由于這個原因,在共享方法中,引用不共享的成員是允許的。公有的共享的成員可以遠程的訪問,并且可以在對象中后期綁定。
注意:在其他的編程語言中,VB.NET共享成員也被稱為Static或者class成員。
有一個類庫,該類庫含有一些附加的過程,這些過程對于這個類庫而言是一些概念性的部分,需要單獨運行,并需要用戶去聲明這個類中的一些類型。
假設開發了一個應用程序,它需要知道有多少個用戶現在登錄了該應用程序。當用戶安裝了用戶的應用程序后,注冊信息被寫入了注冊表,而且用戶的運行程序每次在運行的時候都要訪問用戶聲明的UserInfo對象。一個Long型共享成員UserCount就可以跟蹤用戶的個數,并且用一個屬性CanCreateUser來檢查UserCount共享成員,是否要聲明已經達到了登錄人數的極限***值,并且初始化UserInfo的值來決定是讓用戶進入。
用戶也可以在以下情況使用VB.NET共享成員,假設有很多對象,而且這些對象需要共享一些信息。例如,假設已經建立了一個制定行程計劃的軟件用來計算所選擇的一個旅游城市離國會大廈是不是中100里之內。在City類中有Latitude和Longitude成員。對于半徑在100里之內的城市,City的共享的NearCapitol屬性為"Incremented",而對于半徑在100里之外的城市,City的共享的NearCapitol屬性為"Decremented".
在以上這些情況時,如果沒有這些VB.NET共享成員的話,需要建立一個a.bas模塊來記錄這些信息,這樣做可能會給代碼的維護帶來一些困難,而且理解類也會更加困難.在一個類中保留共享成員會是用戶更好地理解它們的目的.而且在工程中,也將會更好地重用這些代碼.
下面這個例子聲明了一個具有一個屬性和共享數據成員的類.當用戶運行這個程序的時候,每一個PortDescriptor類的對象均有一個惟一的"Descript"屬性,但是共享著一個共享的數據成員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 PortDescriptorDim PD2 as PortDescriptor=
New PortDescriptorPD1.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共享成員需要在什么情況下使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。