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

討論奇妙的VB.NET屬性

開發(fā) 后端
這里介紹VB.NET屬性,屬性被組織為單個Property代碼塊,其中針對屬性的寫(Set)和讀(Get)操作設置了子代碼塊。這一程序起到了類的私有變量之上的抽象層作用。

VB.NET還是比較常用的,于是我研究了一下VB.NET屬性,在這里拿出來和大家分享一下,希望對大家有用。很多人在對屬性的認識上產生了一些混亂的概念。其實屬性這個東西絕非人們想象的那么復雜。讓我們回到最基礎的概念層次上來討論屬性:所謂屬性其實就是暴露了讀/寫接口的類的內部所包含的一塊數據。按照這個定義,你可能會認為你能在類中聲明一個公共變量然后把它稱為一個屬性。當然,這種假設也不是沒有一點道理,不過,類的公共變量所對應的技術術語應該是field(域)。域和屬性之間的關鍵差別在于接口的包含性質上。現(xiàn)在暫時不對這一差別做具體解釋咱們先明白其語法用途即可,以下介紹VB.NET屬性。

在VB6中,屬性由Let、Get和Set程序來定義和操作。而在VB.NET中語法就變了。屬性被組織為單個Property代碼塊,其中針對屬性的寫(Set)和讀(Get)操作設置了子代碼塊。這一程序起到了類的私有變量之上的抽象層作用。大多數人習慣于采用類似公共變量的方式命名這些私有變量,在它們前面加上小寫的前綴字母m或者加上下劃線區(qū)分所關聯(lián)的屬性(m前綴是VB6中繼承下來的,意思是:“模塊級變量”)。舉一個例子:

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

我給一個假定的類ContactName創(chuàng)建了一個屬性。為了支持該屬性,我需要在類里設置一個變量存儲其實際值。ContactName私有變量就是完成這一功能的。只要我獲取或者設置了該屬性,我就等于間接地使用了該值。

那么,為什么這么做就比使用域更好一些呢?主要的原因是,如果采用域,那么就無法控制寫到變量中的數據。比方說,有的人卻偏偏要在整數域中置入字符串或者給只讀域賦值。在采用屬性的情況下,你可以在Set程序中增加邏輯來保證賦值的有效性。你甚至可以完全省略Set代碼塊把屬性設置為只讀。

VB.NET屬性真奇妙

最后,.NET還向我們提供了就被稱為屬性的內容。如果某個類標記為屬性,那么它就被賦予一些特別有意思的專門功能。比如以下的Serializable屬性。

  1. <Serializable()> 
  2. Public Class MyClass  
  3. '該類可以串行化!  
  4. End Class 

把以上的類標記為屬性之后,不論其處于什么狀態(tài)我都可以獲取其實例并寫出磁盤。在一些任何時候,我就可以對該類去串行化,就好象它始終保存在內存中一樣。.NET框架提供了大量的屬性,你甚至可以自VB.NET創(chuàng)建屬性。

【編輯推薦】

  1. 詳談VB.NET編碼規(guī)范經驗
  2. 描述VB.NET工程轉換成步驟
  3. 講述C#與VB.NET間移植的技巧
  4. 分享個人總結VB.NET多線程
  5. 剖析VB.NET TextBox控件
責任編輯:佚名 來源: IT168
相關推薦

2009-10-30 15:51:30

VB.NET使用缺省屬

2010-01-12 15:21:48

VB.NET權限控制

2009-10-20 10:29:30

VB.NET使用Sor

2009-10-29 10:45:01

VB.NET設置控件

2009-10-16 12:52:28

VB.NET簡單數據類

2009-10-23 10:01:28

VB.NET申明Win

2009-10-13 09:24:57

VB.NET Dock

2009-10-14 11:15:06

VB.NET Grou

2009-10-28 10:51:32

VB.NET默認屬性

2009-10-22 10:10:20

VB.NET Proc

2009-10-10 16:40:37

VB.NET Cont

2010-01-18 11:20:13

VB.NET默認屬性

2010-01-15 13:52:42

VB.NET屬性設置

2010-01-13 11:11:42

VB.NET Date

2009-10-27 13:45:32

VB.NET C#區(qū)別

2010-01-08 15:03:12

VB.NET類屬性

2009-11-02 17:15:42

C#轉換為VB.NET

2009-11-02 17:38:56

VB.NET與C#

2010-01-13 10:46:42

VB.NET Dock

2011-06-17 11:05:22

VB.NET
點贊
收藏

51CTO技術棧公眾號