VB.net 初心者学習 カプセル化 アクセス修飾子 プロパティ

VB.net

VB.net 初心者学習 カプセル化 アクセス修飾子 プロパティ

VB.net初心者学習ということで、今回はカプセル化、アクセス修飾子、プロパティについて解説していきたいと思います。

カプセル化

カプセル化とは、オブジェクトのメソッドやパラメータから外部から不必要にアクセスできないように制限することです。

以下にも紹介しますが、アクセス修飾子と呼ばれる(Public Privateなど)ものをクラスの前やメソッドの前に宣言することで、アクセス制限を設けることができます。

カプセル化のメリットとしては、外部から不要にパラメータの変更などを防ぐことができ複数人での作業などで、効率よくプログラム設計が行える点です。

 

アクセス修飾子

先程のカプセル化で重要になるアクセス修飾子ですが、種類があります。

Public : アクセス制限なし
Private :クラス内に制限
Friend : アセンブリ内
Protected :クラスや派生クラスのみに限定
Protected Friend :アセンブリまたは派生したクラスに限定

基本的にアクセス修飾子をつけなければ、プロシージャはPublicになります。

プロパティ

プロパティとは、フィールドにアクセスするための専用のメソッドです。

アクセッサメソッドとも呼ばれます。

[修飾子]Property プロパティ名() As データ型
    Get 
       処理
       Return 戻り値
    End Get
    Set(ByVal 値 As データ型)
       処理
    End Set
End Property

Get アクセッサで値を取得することができ、Setアクセッサで値を書き換えることができます。

使い方としては、GetアクセッサやSetアクセッサを記述するわけではなく、プロパティ名をフィールド同様に参照することでGetアクセッサが自動的に呼び出され値を読み出します。

Setアクセッサもプロパティに値を代入することで自動的に呼び出され値を書き換えます。

また、プロパティは書き込みや読み込みを行うことができますが、制限することも可能です。

読み出し専用/書き込み専用プロパティ

ReadOnly/WriteOnlyキーワードをつけることで読み出し専用/書き込み専用プロパティとして読み出しか書き込みのみしか行えないようにすることが可能です。

[修飾子] ReadOnly Property プロパティ名() As データ型
     
     Get 
      処理
      Return 戻り値
     End Get
     
End Property

[修飾子] WriteOnly Property プロパティ名() As データ型

     Set(ByVal 値 As データ型)
      処理
     End Set

End Property

このように記載することで、読み出し専用もしくは書き込み専用のプロパティを作ることができます。もちろん読み出し専用に書き込みを行ってもエラーになりますし、その逆もまた然りです。

まとめ

いかがでしたか。

カプセル化やアクセス修飾子やプロパティはとても重要です。

その特性や性質を理解して効率的なプログラミングを行ってください。

コメント

タイトルとURLをコピーしました