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!ログール |