@634

VB.NET - プロパティ

Advertisement

カプセル化

オブジェクト指向では、オブジェクト内のフィールドに安全にアクセスさせたい場合、カプセル化を行う。

Class TestClass
    Private Name As String

    ' SETメソッド
    Public Function setName(ByVal Moji As String)
        Me.Name = Moji
    End Function

    ' GETメソッド
    Public Function getName() As String
        Return Me.Name
    End Function
End Class
フィールドには直接アクセスさせず、関数を通して値の設定/取得を行うような形になる。

プロパティ

VB.NETでは、前述のカプセル化を実現できるProperty構文が用意されている。

書式
[アクセシビリティ] [識別子] Property プロパティ名(引数1, 引数2 .. ,引数3) As 型
    Get
        値の取得処理
    End Get
    Set(引数1, 引数2 .. ,引数3)
        値の設定処理
    End Set
End Property

サンプル
Class TestClass
    Private Name As String

    Public Property NameProp() As String
        Get
            Return Me.Name
        End Get
        Set(ByVal Value As String)
            Me.Name = Value
        End Set
    End Property
End Class

プロパティを利用する場合、普通の変数にアクセスする場合と同じ構文になる。

Module Module1
    Sub Main()
        Dim Test As New TestClass
        Test.NameProp = "MyName"
        Console.WriteLine(Test.NameProp)
    End Sub
End Module

実行結果
MyName

読み込み専用プロパティ・書き込み専用プロパティ

プロパティにReadOnly,WriteOnlyを指定することで、値の取得専用/値の設定専用プロパティを作成することができる。

例:読み取り専用
Public ReadOnly Property NameProp() As String
    Get
        Return Me.Name
    End Get
End Property

例:書き込み専用
Public WriteOnly Property NameProp() As String
    Set(ByVal Value As String)
        Me.Name = Value
    End Set
End Property

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール

ビリヤード