溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

VB.NET共享成員需要在什么情況下使用

發(fā)布時(shí)間:2021-07-20 00:11:01 來(lái)源:億速云 閱讀:122 作者:chen 欄目:編程語(yǔ)言

本篇內(nèi)容介紹了“VB.NET共享成員需要在什么情況下使用”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

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

  • VB.NET繼承實(shí)現(xiàn)多態(tài)應(yīng)用方法介紹

  • VB.NET接口實(shí)現(xiàn)多態(tài)實(shí)際代碼編寫

  • VB.NET并發(fā)性判斷線程狀態(tài)

  • VB.NET ProgressBar控件基本概念講述

  • VB.NET ToolBar控件在實(shí)際應(yīng)用中作用體現(xiàn)

共享成員獨(dú)立于任何一個(gè)特定的類的實(shí)例。共享的過(guò)程在對(duì)象中必須顯式的聲明。由于這個(gè)原因,在共享方法中,引用不共享的成員是允許的。公有的共享的成員可以遠(yuǎn)程的訪問(wèn),并且可以在對(duì)象中后期綁定。

注意:在其他的編程語(yǔ)言中,VB.NET共享成員也被稱為Static或者class成員。

有一個(gè)類庫(kù),該類庫(kù)含有一些附加的過(guò)程,這些過(guò)程對(duì)于這個(gè)類庫(kù)而言是一些概念性的部分,需要單獨(dú)運(yùn)行,并需要用戶去聲明這個(gè)類中的一些類型。

假設(shè)開(kāi)發(fā)了一個(gè)應(yīng)用程序,它需要知道有多少個(gè)用戶現(xiàn)在登錄了該應(yīng)用程序。當(dāng)用戶安裝了用戶的應(yīng)用程序后,注冊(cè)信息被寫入了注冊(cè)表,而且用戶的運(yùn)行程序每次在運(yùn)行的時(shí)候都要訪問(wèn)用戶聲明的UserInfo對(duì)象。一個(gè)Long型共享成員UserCount就可以跟蹤用戶的個(gè)數(shù),并且用一個(gè)屬性CanCreateUser來(lái)檢查UserCount共享成員,是否要聲明已經(jīng)達(dá)到了登錄人數(shù)的極限***值,并且初始化UserInfo的值來(lái)決定是讓用戶進(jìn)入。

用戶也可以在以下情況使用VB.NET共享成員,假設(shè)有很多對(duì)象,而且這些對(duì)象需要共享一些信息。例如,假設(shè)已經(jīng)建立了一個(gè)制定行程計(jì)劃的軟件用來(lái)計(jì)算所選擇的一個(gè)旅游城市離國(guó)會(huì)大廈是不是中100里之內(nèi)。在City類中有Latitude和Longitude成員。對(duì)于半徑在100里之內(nèi)的城市,City的共享的NearCapitol屬性為"Incremented",而對(duì)于半徑在100里之外的城市,City的共享的NearCapitol屬性為"Decremented".

在以上這些情況時(shí),如果沒(méi)有這些VB.NET共享成員的話,需要建立一個(gè)a.bas模塊來(lái)記錄這些信息,這樣做可能會(huì)給代碼的維護(hù)帶來(lái)一些困難,而且理解類也會(huì)更加困難.在一個(gè)類中保留共享成員會(huì)是用戶更好地理解它們的目的.而且在工程中,也將會(huì)更好地重用這些代碼.

下面這個(gè)例子聲明了一個(gè)具有一個(gè)屬性和共享數(shù)據(jù)成員的類.當(dāng)用戶運(yùn)行這個(gè)程序的時(shí)候,每一個(gè)PortDescriptor類的對(duì)象均有一個(gè)惟一的"Descript"屬性,但是共享著一個(gè)共享的數(shù)據(jù)成員Load,在對(duì)象PD1中改變Load屬性的話將會(huì)改變對(duì)象PD2的屬性"Load"的值,其代碼如下:

  1. Imports system  

  2. Namespace ANameSpace  

  3. Module Module1  

  4. Class PortDescriptor  

  5. Public Shared Load as Integer  

  6. Private strDesc as String  

  7. Property descript as String  

  8. Get  

  9. descript=strDesc 

  10. End Get  

  11. Set  

  12. strDesc=Value 

  13. End Set  

  14. End Property  

  15. End Class  

  16. Shared Sub Main()  

  17. Dim PD1 as PortDescriptor=
    New PortDescriptor  

  18. Dim PD2 as PortDescriptor=
    New PortDescriptor  

  19. PD1.descript="Idle" 

  20. PD1.Load=80 

  21. Console.WriteLine("PD1 
    Descript=:"&PD1.descript)  

  22. Console.WriteLine("PD1 
    Load=:"&PD1.Load)  

  23. Pd2.descript="Activr" 

  24. Pd2.Load=540 

  25. Console.WriteLine("PD2 
    Descript=:"&Pd2.descript)  

  26. console.WriteLine("PD2 
    Load=:"&PD2.Load)  

  27. Console.WriteLine("PD1 
    Descript now=:"&Pd1.descript)  

  28. Console.WriteLine("PD1 Load 
    now=:"&PD1.Load)  

  29. End Sub  

  30. End Module  

  31. End Namespace 

“VB.NET共享成員需要在什么情況下使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI