自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VB.NET共享成員需要在何種情況下使用

開(kāi)發(fā) 后端
VB.NET共享成員同時(shí)也會(huì)被稱(chēng)為Static或者class成員,主要獨(dú)立于任何一個(gè)特定的類(lèi)的實(shí)例。我們會(huì)在這里為大家介紹VB.NET共享成員的適用環(huán)境。

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

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

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

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

假設(shè)開(kāi)發(fā)了一個(gè)應(yīng)用程序,它需要知道有多少個(gè)用戶現(xiàn)在登錄了該應(yīng)用程序。當(dāng)用戶安裝了用戶的應(yīng)用程序后,注冊(cè)信息被寫(xiě)入了注冊(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類(lèi)中有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)一些困難,而且理解類(lèi)也會(huì)更加困難.在一個(gè)類(lèi)中保留共享成員會(huì)是用戶更好地理解它們的目的.而且在工程中,也將會(huì)更好地重用這些代碼.

下面這個(gè)例子聲明了一個(gè)具有一個(gè)屬性和共享數(shù)據(jù)成員的類(lèi).當(dāng)用戶運(yùn)行這個(gè)程序的時(shí)候,每一個(gè)PortDescriptor類(lèi)的對(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共享成員的具體使用方式就為大家介紹到這里。

責(zé)任編輯:曹凱 來(lái)源: 編程入門(mén)網(wǎng)
相關(guān)推薦

2009-10-28 13:35:25

VB.NET共享成員

2010-01-18 14:54:00

VB.NET共享成員變

2009-10-13 14:42:30

VB.NET靜態(tài)成員

2009-11-03 10:51:33

VB.NET共享

2010-01-19 15:08:18

VB.NET對(duì)象成員

2010-01-11 16:04:10

VB.NET使用wit

2009-10-14 17:08:44

VB.NET使用Fil

2010-01-12 18:28:28

VB.NET共享變量

2009-10-26 15:57:07

VB.NET使用Ora

2009-11-03 13:48:02

VB.NET枚舉

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-10-16 11:38:47

VB.NET使用Ali

2009-10-28 12:28:52

VB.NET資源使用

2009-11-03 11:27:30

VB.NET界面

2009-11-02 13:54:27

VB.NET shel

2009-10-20 10:29:30

VB.NET使用Sor

2009-10-13 15:20:02

VB.NET使用Dra

2009-10-16 10:14:26

VB.NET使用Fil

2009-10-16 14:07:18

VB.NET使用Mon

2010-01-18 18:20:49

VB.NET使用API
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)