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

淺析VB.NET方法創(chuàng)建

開發(fā) 后端
這里介紹了VB.NET方法創(chuàng)建,還為我們總結(jié)了VB.NET轄域關(guān)鍵字,其實和VB 6中的差不多,只是多了Protected,詳細的轄域關(guān)鍵字請看本文。

VB.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET方法創(chuàng)建,包括介紹創(chuàng)建方法,缺省的屬性等方面的介紹。在VB.NET中方法的創(chuàng)建還是跟在VB6中的一樣,你可以使用Sub或者Function關(guān)鍵字。Sub和Function的區(qū)別是:用Sub來創(chuàng)建一個方法,它將不返回數(shù)值;若是利用Function來創(chuàng)建一個方法,它將返回一個數(shù)值作為結(jié)果。例如VB.NET方法創(chuàng)建:

  1. Sub MyWorks()  
  2. End Sub  
  3. Function MyValue() As Integer  
  4. End Function 

#T#在VB.NET中我們?nèi)钥梢允褂幂犛蜿P(guān)鍵字,這跟在VB 6中的差不多,只是多了Protected。具體的轄域關(guān)鍵字有:
Private表明只能調(diào)用類中的代碼;
Friend 表明可以在我們的工程/組件中調(diào)用代碼;
Public 表明可以在我們的類外部調(diào)用代碼;
Protected是VB.NET新增的,這個我們將在討論繼承的時候再具體闡述。
Protected Friend 表明只能在我們的工程/組件調(diào)用代碼以及我們的Subclass的代碼。同樣我們將在討論繼承的時候再具體闡述。
缺省地,方法的參數(shù)是聲明為ByVal而不是ByRef。當然,我們?nèi)匀豢梢酝ㄟ^使用ByRef關(guān)鍵字來重載這個缺省的行為。

VB.NET方法創(chuàng)建屬性

以前我們創(chuàng)建屬性的時候是使用Property Get和Property Let,但現(xiàn)在在VB.NET中已經(jīng)將它集成到一個結(jié)構(gòu)中去了。例子如下:

  1. Private mystrName As String  
  2. Public Property Name() As String  
  3. Get  
  4. Return mystrName  
  5. End Get  
  6. Set  
  7. mystrName = Value 
  8. End Set  
  9. End Property 

VB.NET方法缺省的屬性

在VB6中創(chuàng)建類的時候,我們可以為類聲明一個缺省的方法或者屬性。具體做法可以菜單選項:Tools(工具)->Procedure Attributes(過程屬性)并設(shè)置Procedure ID為缺省值。
VB.Net用兩種方法改變了這種行為。***,使用一個缺省的關(guān)鍵字來創(chuàng)建缺省的屬性,使得聲明更加清晰直觀。但是,VB.NET還給缺省的屬性引入了一種新的限制,即屬性必須是一個屬性陣列。

屬性陣列實際上就跟數(shù)組一樣,有一個索引。在選擇或者列表對象中的項目屬性就是一個例子:

  1. strText = MyList.Item(5) 

這個項目屬性沒有單一的數(shù)值,而是有一組的屬性,它們可以通過索引來訪問。
通過使用屬性陣列作為缺省屬性,我們就允許程序語言避免了在使用缺省屬性的多義性。正如我們在VB6中所知道的,關(guān)鍵字Set的限制是關(guān)鍵。下面再看看以下的語句:

  1. MyValue = MyObject 

這句是指對象MyObject還是指它的缺省屬性呢?為了識別它,在VB6中使用了Set命令來處理對象,如不使用Set就是指缺省的屬性。在VB.NET中這條語句是指對象,因為缺省的屬性是要被索引的。為了得到缺省的屬性,我們要編寫以下代碼:

  1. MyValue = MyObject(5) 

因為索引是一個清楚的指示器(我們指缺省的屬性,而不是MyObject本身),所以就不會有多義的存在了。
VB.NET這樣的改變就意味著屬性陣列過程必須接收一個參數(shù)。例如

  1. Private MyMoney(100) As String  
  2. Default Public Property Money(ByVal Index As Integer) As String   
  3. Get  
  4. Money = MyMoney(index)  
  5. End Get  
  6. Set  
  7. MyMoney(index) = Value  
  8. End Set  
  9. End Property  

***,看起來這些代碼比VB6更清楚,但也會丟失了一些靈活性。在過去,我們喜歡使用缺省的屬性。舉個例子,我們在用GUI控件的時候經(jīng)常使用缺省的屬性,比如缺省的文本屬性。

  1. TextBox1 = MyText  

但是這在VB.NET中已經(jīng)不再有效,因為文本屬性不再是一個屬性陣列,相反地我們必須使用屬性名字。

責任編輯:田樹 來源: 博客
相關(guān)推薦

2009-10-13 15:20:02

VB.NET使用Dra

2009-11-03 10:00:20

VB.NET New方

2010-01-13 17:16:37

VB.NET冒號

2009-10-15 17:41:14

VB.NET Impo

2009-10-30 15:37:23

VB.NET Sub創(chuàng)

2009-10-16 10:36:35

VB.NET繪制GDI

2009-10-27 09:31:32

VB.NET啟動Sma

2009-11-03 13:48:02

VB.NET枚舉

2009-10-15 10:46:03

PPC客戶端程序VB.NET創(chuàng)建

2009-10-10 15:43:51

2009-10-16 14:07:18

VB.NET使用Mon

2009-10-12 14:32:40

VB.NET實現(xiàn)定時關(guān)

2009-10-26 17:24:42

VB.NET終端服務(wù)啟

2009-10-14 10:08:05

VB.NET編寫DEC

2009-11-02 17:49:05

VB.NET抽象類

2009-11-03 12:52:38

VB.NET Wind

2009-10-28 09:47:01

VB.NET局部靜態(tài)變

2009-10-14 14:04:29

VB.NET創(chuàng)建Web

2009-10-23 12:53:25

VB.NET語言

2010-01-22 13:08:50

VB.NET創(chuàng)建數(shù)組
點贊
收藏

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