VB中類的字段和屬性的區別和用法
2006/12/31 11:21:07

類由字段、屬性、方法和事件組成。字段和屬性表示對象包含的信息。字段類似于變量,因為可以直接讀取或設置它們。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
例如,如果有一個名為 Car 的對象,則可以在名為 Color 的字段中存儲其顏色。屬性的檢索和設置方法與字段類似,但是屬性是使用 Property Get 和 Property Set 過程實現的,這些過程對如何設置或返回值提供更多的控制。在存儲值和使用此值的過程之間的間接層幫助隔離數據,并使您得以在分配或檢索值之前驗證這些值。
向類添加字段
在類定義中聲明一個公共變量,如下面的代碼所示: Class ThisClass
  Public ThisField As String
End Class 
向類添加屬性
在類中聲明一個局部變量來存儲屬性值。因為屬性不會自行分配任何存儲區,所以該步驟是必需的。若要保護它們的值不被直接修改,用于存儲屬性值的變量應當聲明為 Private。
根據需要以修飾符(如 Public 和 Shared)作為屬性聲明的開頭。使用 Property 關鍵字聲明屬性名稱,并聲明屬性存儲和返回的數據類型。
在屬性定義中定義 Get 和 Set 屬性過程。Get 屬性過程用于返回屬性值,基本等效于語法中的函數。它們不接受參數,可用于返回在類中聲明的、用于存儲屬性值的私有局部變量的值。Set 屬性過程用于設置屬性的值,它們有參數(通常稱為 Value),該參數的數據類型與屬性本身的數據類型相同。每當屬性值更改時,Value 均會被傳遞給 Set 屬性過程,在該過程中可以驗證它并將其存儲在一個局部變量中。
根據需要使用 End Get 和 End Set 語句終止 Get 和 Set 屬性過程。
使用 End Property 語句終止屬性塊。
注意  如果正在 Visual Studio 集成開發環境 (IDE) 下工作,可以指示它去除空的 Get 和 Set 屬性過程。鍵入 Property PropName As DataType(其中,PropName 是屬性名稱,DataType 是特定數據類型,如 Integer),相應的屬性過程將出現在代碼編輯器中。
下面的示例在類中聲明一個屬性:  Class ThisClass
  Private m_PropVal As String
  Public Property One() As String
      Get
        Return m_PropVal ' Return the value stored in the local variable.
      ' Optionally, you can use the syntax One = PropVal to return
      ' the property value.
      End Get
      Set(ByVal Value As String)
        m_PropVal = Value ' Store the value in a local variable.
      End Set
  End Property
End Class 
當創建 ThisClass 的一個實例并設置 One 屬性的值時,將調用 Set 屬性過程且該值在 Value 參數中傳遞,該參數存儲在名為 m_PropVal 的局部變量中。當檢索此屬性值時,將像函數那樣調用 Get 屬性過程并返回存儲在局部變量 m_PropVal 中的值。 
屬性和屬性過程
可以使用屬性和字段在對象中存儲信息。屬性使用屬性過程控制如何設置或返回值,而字段只是公共變量。屬性過程是在屬性定義中聲明的代碼塊,使您可以在設置或檢索屬性值時執行代碼。Visual Basic .NET 有兩種類型的屬性過程:Get 屬性過程用于檢索屬性值;Set 屬性過程用于向屬性賦值。例如,存儲銀行帳戶余額的屬性可能會在 Get 屬性過程中使用代碼以在返回可用余額之前記入利息并檢查服務費。用于可用余額的 Set 屬性過程會提供驗證代碼以防止不正確地更新余額。簡而言之,屬性過程允許對象保護和驗證自己的數據
只讀和只寫屬性
大多數屬性有 Get 和 Set 這兩個屬性過程以使您可以同時讀取和修改所存儲的值。然而,您可以使用 ReadOnly 或 WriteOnly 修飾符來限制對屬性的讀取或修改。只讀屬性不能有 Set 屬性過程,它們可用于需要公開但不允許修改的項。例如,可以使用只讀屬性

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 国产成人精品cao在线| 成人影院wwwwwwwwwww| 亚洲熟妇无码乱子av电影| 美女国产毛片a区内射| 国产模特众筹精品视频| 99riav国产在线观看| 彩虹男gary网站| 久久久噜噜噜久久中文字幕色伊伊| 欧美亚洲国产一区二区三区| 伊人热热久久原色播放www| 美女胸又www又黄网站| 国产免费一区二区三区在线观看 | 精品国产中文字幕| 国产三级在线观看完整版| 国产视频你懂得| 国产精品推荐天天看天天爽| 99精品国产在热久久| 怡红院免费手机在线观看| 久久久久久AV无码免费网站| 日韩美女拍拍免费视频网站| 亚洲人成电影网站色| 欧美老熟妇乱大交xxxxx| 伊人久久大香线蕉综合影 | 精品国产第一国产综合精品| 国产中的精品一区的| 黄色一级视频网站| 国产精品亚洲w码日韩中文| 97精品在线观看| 天天干天天干天天干天天干 | 日本高清免费xxx在线观看| 亚洲va欧美va| 欧美巨大xxxx做受中文字幕| 亚洲欧美电影在线一区二区| 狠狠色丁香婷婷综合久久片| 免费成人在线网站| 精品少妇一区二区三区视频| 国产AV人人夜夜澡人人爽麻豆| 蜜桃麻豆www久久国产精品| 国产又粗又长又硬免费视频 | 野花社区视频在线观看| 国产成人久久精品亚洲小说|