共用方式為


HOW TO:將欄位和屬性加入至類別

更新:2007 年 11 月

您可以使用欄位和屬性將資訊儲存於物件中。雖然欄位和屬性從用戶端應用程式的觀點來看並無分別,但它們在類別中的宣告方式卻不一樣。欄位只是由類別 (Class) 公開 (Expose) 的公用變數,而屬性則使用 Property 程序來控制值的設定或傳回方式。

若要將欄位加入類別

  • 在類別定義中宣告公用變數,如下列程式碼所示:

    Class ThisClass
        Public ThisField As String
    End Class
    

若要將屬性加入類別

  1. 在類別內宣告區域變數以儲存屬性值。這個步驟是必要的,因為屬性本身未配置任何儲存區。若要避免直接修改其值,用來儲存屬性值的變數應宣告為 Private。

  2. 視需要利用修飾詞做為屬性宣告的開端,如 Public 和 Shared。使用 Property 關鍵字來宣告屬性名稱,並宣告屬性所儲存和傳回的資料型別。

  3. 在屬性定義中定義 Get 和 Set 屬性程序。Get 屬性程序用來傳回屬性值,在語法上和函式相近。屬性程序不接受引數,但可用來傳回於類別中宣告的私用 (Private) 區域變數值,其中該類別是用來儲存屬性值。Set 屬性程序可用來設定屬性值,其參數通常稱為 Value,和屬性本身的資料型別相同。每當變更屬性值時,Value 會傳遞到 Set 屬性程序,進行驗證並儲存至區域變數中。

  4. 請依適合的情況,使用 End Get 和 End Set 陳述式 (Statement),來結束 Get 和 Set 屬性程序。

  5. 使用 End Property 陳述式來結束屬性區塊。

    注意事項:

    如果您正在使用 Visual Studio 整合式開發環境 (IDE),則可以使其建立空的 Get 和 Set 屬性程序。請輸入 PropertyPropNameAsDataType (其中 PropName 是屬性的名稱,DataType 則是特定的資料型別,例如 Integer),屬性程序便會出現在 [程式碼編輯器] 中。

    下列範例宣告類別中的屬性:

    Class ThisClass
        Private m_PropVal As String
        Public Property One() As String
            Get
                ' Return the value stored in the local variable.
                Return m_PropVal
            End Get
            Set(ByVal Value As String)
                ' Store the value in a local variable.
                m_PropVal = Value
            End Set
        End Property
    End Class
    

    當您建立 ThisClass 的執行個體並設定 One 屬性的值時,就會呼叫 Set 屬性程序並在 Value 參數中傳遞此值,其中 Value 參數儲存於稱為 m_PropVal 的區域變數中。擷取此屬性值時,會像函式一樣呼叫 Get 屬性程序,並傳回儲存於區域變數 m_PropVal. 中的值。

請參閱

工作

HOW TO:將事件加入至類別

概念

屬性和屬性程序

參考

Property 陳述式

Public (Visual Basic)

Shared (Visual Basic)