網頁

Visual Basic -- 自動實作屬性

自動實作屬性(Auto-Implemented Property)


當我們在設計Class時,常常會需要使用"屬性(Property)"來存取Private變數,有時只是簡單的存取,但你還是必須撰寫必要的程式碼。

程式一:傳統屬性寫法
Private _name As String
'存取_name的屬性
Public Property Name As String
    Get
        Return _name
    End Get
    Set(ByVal value As String)
        _name = value
    End Set
End Property

但在Visual Basic 2010中,我們可以直接使用"自動實作屬性"功能,來快速指定Class的屬性,而不必撰寫Get與Set相關程式碼。

程式二:自動實作屬性寫法
Public Property Name As String
'可以直接設定預設值
'會自動把值給Set
'Public Property Name As String = "KKBruce"

經由程式二的自動實作屬性,Visual Basic的Compliler會自動實作相關的Get和Set程式碼,還會自動建立Private的變數(使用底線(_)加屬性名稱),簡單想,當你使用程式二的自動實作屬性寫法,那Visual Basic會自動實作程式一所有程式碼。

使用自動實作屬性有幾點要小心:
  1. 請注意Private變數名稱
    自動實作屬性會自動建立Private變數,如果自動建立的變數名稱已存在,那產生命名衝突。
  2. 陣列屬性
    自動實作屬性宣告為陣列時,無法指陣列大小,但可以提供初始值。

程式三:自動實作屬性宣告為陣列
Property Scores() As Integer
'提供初始值
'Property scores As Integer() = New Integer() {10, 20, 30}

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。