您好,登錄后才能下訂單哦!
這篇文章主要介紹如何創(chuàng)建VB.NET方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
在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)建:
Sub MyWorks() End Sub Function MyValue() As Integer End Function
在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。當(dāng)然,我們?nèi)匀豢梢酝ㄟ^使用ByRef關(guān)鍵字來重載這個缺省的行為。
VB.NET方法創(chuàng)建屬性
以前我們創(chuàng)建屬性的時候是使用Property Get和Property Let,但現(xiàn)在在VB.NET中已經(jīng)將它集成到一個結(jié)構(gòu)中去了。例子如下:
Private mystrName As String Public Property Name() As String Get Return mystrName End Get Set mystrName = Value End Set End Property
VB.NET方法缺省的屬性
在VB6中創(chuàng)建類的時候,我們可以為類聲明一個缺省的方法或者屬性。具體做法可以菜單選項:Tools(工具)->Procedure Attributes(過程屬性)并設(shè)置Procedure ID為缺省值。
VB.Net用兩種方法改變了這種行為。***,使用一個缺省的關(guān)鍵字來創(chuàng)建缺省的屬性,使得聲明更加清晰直觀。但是,VB.NET還給缺省的屬性引入了一種新的限制,即屬性必須是一個屬性陣列。
屬性陣列實際上就跟數(shù)組一樣,有一個索引。在選擇或者列表對象中的項目屬性就是一個例子:
strText = MyList.Item(5)
這個項目屬性沒有單一的數(shù)值,而是有一組的屬性,它們可以通過索引來訪問。
通過使用屬性陣列作為缺省屬性,我們就允許程序語言避免了在使用缺省屬性的多義性。正如我們在VB6中所知道的,關(guān)鍵字Set的限制是關(guān)鍵。下面再看看以下的語句:
MyValue = MyObject
這句是指對象MyObject還是指它的缺省屬性呢?為了識別它,在VB6中使用了Set命令來處理對象,如不使用Set就是指缺省的屬性。在VB.NET中這條語句是指對象,因為缺省的屬性是要被索引的。為了得到缺省的屬性,我們要編寫以下代碼:
MyValue = MyObject(5)
因為索引是一個清楚的指示器(我們指缺省的屬性,而不是MyObject本身),所以就不會有多義的存在了。
VB.NET這樣的改變就意味著屬性陣列過程必須接收一個參數(shù)。例如
Private MyMoney(100) As String Default Public Property Money(ByVal Index As Integer) As String Get Money = MyMoney(index) End Get Set MyMoney(index) = Value End Set End Property
***,看起來這些代碼比VB6更清楚,但也會丟失了一些靈活性。在過去,我們喜歡使用缺省的屬性。舉個例子,我們在用GUI控件的時候經(jīng)常使用缺省的屬性,比如缺省的文本屬性。
TextBox1 = MyText
但是這在VB.NET中已經(jīng)不再有效,因為文本屬性不再是一個屬性陣列,相反地我們必須使用屬性名字。
以上是“如何創(chuàng)建VB.NET方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。