カテゴリ: VB.NET 更新日: 2025/12/21

VB.NETでカプセル化を完全ガイド!初心者でもわかるクラスのPrivate・Public・Protected

VB.NETでカプセル化を実現する方法(Private/Public/Protected)
VB.NETでカプセル化を実現する方法(Private/Public/Protected)

先生と生徒の会話形式で理解しよう

生徒

「VB.NETのクラスってよく聞きますが、その中でカプセル化という仕組みがあると聞きました。どういうものなんですか?」

先生

「カプセル化とは、クラスの中のデータを守りながら必要なところだけ公開する仕組みのことだよ。VB.NETでも重要な考え方なんだ。」

生徒

「データを守るって、具体的にはどうやってやるんですか?VB.NETで難しい操作が必要ですか?」

先生

「難しくないよ。VB.NETではPrivate、Public、Protectedという“アクセス修飾子”を使うだけで簡単にカプセル化できるんだ。実際にどう使うのか見ていこう。」

1. カプセル化とは?VB.NETでなぜ必要なのか

1. カプセル化とは?VB.NETでなぜ必要なのか
1. カプセル化とは?VB.NETでなぜ必要なのか

カプセル化とは、プログラミングでとても大切な考え方で、クラスの内部にある変数やデータを外部から勝手に書き換えられないように守る仕組みです。例えば、銀行口座の残高を誰でも自由に変更できたら大変なことになりますよね。それを防ぐために、必要な操作だけ公開し、不必要な部分は隠しておきます。

VB.NETのカプセル化では、Public・Private・Protectedというキーワードを使います。これらは「アクセス修飾子」と呼ばれ、何をどこまで見せるか決める役割があります。

2. VB.NETのPrivate:外から触られないようにする

2. VB.NETのPrivate:外から触られないようにする
2. VB.NETのPrivate:外から触られないようにする

Private(プライベート)は、クラスの外から触られたくないデータを守るときに使います。クラスの中でしか使えないので、「この中だけの秘密にしておきたい」というときに便利です。

例えば、ゲームのプレイヤーの体力を勝手に変更されないようにしたい、などのケースがわかりやすい例です。


Public Class Player
    Private hp As Integer = 100

    Public Sub ShowHP()
        Console.WriteLine("HPは" & hp)
    End Sub
End Class

上の例では、hpはPrivateなので、クラスの外から書き換えることはできません。

3. VB.NETのPublic:誰でも使えるように公開する

3. VB.NETのPublic:誰でも使えるように公開する
3. VB.NETのPublic:誰でも使えるように公開する

Public(パブリック)は最も開かれたアクセス修飾子で、どこからでもアクセスできます。外部に公開したいメソッドや変数に使います。例えば、「名前を表示するメソッドをゲーム全体で使いたい」などの場面です。


Public Class Player
    Public Name As String

    Public Sub ShowName()
        Console.WriteLine("プレイヤー名:" & Name)
    End Sub
End Class

4. VB.NETのProtected:継承したクラスには見せるけど外部には見せない

4. VB.NETのProtected:継承したクラスには見せるけど外部には見せない
4. VB.NETのProtected:継承したクラスには見せるけど外部には見せない

Protected(プロテクテッド)は、「外部には隠したいけれど、子クラス(継承したクラス)には使わせたい」というときに使います。これは、オブジェクト指向の継承を理解すると、とても便利になるアクセス修飾子です。


Public Class Character
    Protected energy As Integer = 50
End Class

Public Class Hero
    Inherits Character

    Public Sub ShowEnergy()
        Console.WriteLine("エネルギー:" & energy)
    End Sub
End Class

5. VB.NETでカプセル化を使うとどう便利?

5. VB.NETでカプセル化を使うとどう便利?
5. VB.NETでカプセル化を使うとどう便利?

カプセル化は、単に変数を隠すだけの仕組みではありません。プログラムが複雑になってきたときに「予期しない動作を防ぐ」「クラスの内部構造を変更しても外部に影響を出さない」という大きなメリットがあります。

具体的には次のような点が便利です。

  • 勝手にデータを書き換えられないので安全
  • 変更に強いプログラムになる
  • どこから操作しているか明確になり、バグを減らせる
  • 必要な部分だけ公開することでクラスの役割が分かりやすくなる

6. VB.NETのカプセル化を使ったサンプルコード

6. VB.NETのカプセル化を使ったサンプルコード
6. VB.NETのカプセル化を使ったサンプルコード

ここでは、Privateで隠した変数をPublicのメソッドで操作する、という典型的なカプセル化の使い方を紹介します。


Public Class BankAccount
    Private balance As Integer = 0

    Public Sub Deposit(amount As Integer)
        balance += amount
    End Sub

    Public Sub ShowBalance()
        Console.WriteLine("残高:" & balance & "円")
    End Sub
End Class

このように、直接balanceを触るのではなく、Depositというメソッドを通して操作することで、安全なデータ管理ができます。

関連記事:
カテゴリの一覧へ
新着記事
New1
VB.NET
VB.NETの例外処理でよくあるアンチパターンと注意点を初心者向けに徹底解説
New2
ASP.NET
ASP.NET WebFormsのGridViewでデータ表示を完全マスター!初心者向けガイド
New3
VB.NET
VB.NETの例外処理とパフォーマンスの関係を初心者向けに完全解説
New4
ASP.NET
ASP.NET WebFormsでデータベースと連携!初心者でもできる保存と表示の基本
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのEnum(列挙型)の使い方を完全解説!初心者にも分かる定義と活用方法
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのBoolean型(True/False)の使い方と条件分岐での活用方法を徹底解説!初心者でも理解できる基本
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのIf文の使い方と条件分岐を完全ガイド!初心者でもわかる基本構文と実例
No.4
Java&Spring記事人気No4
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.5
Java&Spring記事人気No5
VB.NET
VB.NETの例外処理を完全ガイド!初心者でもわかるSystem.Exceptionの仕組み
No.6
Java&Spring記事人気No6
VB.NET
VB.NETプログラムの実行方法まとめ!Visual Studio・コマンドラインの使い方
No.7
Java&Spring記事人気No7
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.8
Java&Spring記事人気No8
VB.NET
VB.NETでの変数名の付け方とは?わかりやすくエラーの起きにくい命名規則を紹介