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

VB.NETのフィールドとプロパティの違いと使い分けを初心者向けに解説

VB.NETのフィールドとプロパティの違いと使い分け
VB.NETのフィールドとプロパティの違いと使い分け

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

生徒

「先生、VB.NETのクラスでフィールドとプロパティって何が違うんですか?」

先生

「簡単に言うと、フィールドはクラスの中で使うデータを直接保存する場所で、プロパティはそのデータに安全にアクセスするための窓口です。」

生徒

「窓口ってどういう意味ですか?」

先生

「フィールドは直接書き換えられるので安全性が低い場合があります。プロパティを使うと値を取得したり設定したりする時に、条件チェックや加工を加えられるので安全に扱えるという意味です。」

1. フィールドとは

1. フィールドとは
1. フィールドとは

VB.NETのフィールドは、クラスの中で変数を定義してデータを保持する場所です。フィールドはクラスの設計図の一部として存在し、オブジェクトごとに値を持つことができます。直接値を読み書きできるのが特徴です。


Public Class Person
    ' フィールド
    Public name As String
    Public age As Integer
End Class

この例では、nameとageがフィールドで、Personクラスのオブジェクトごとに値を保持できます。

2. プロパティとは

2. プロパティとは
2. プロパティとは

プロパティは、フィールドにアクセスするための安全な窓口です。プロパティを使うことで、値の取得(Get)や設定(Set)にルールを加えられます。これにより、データの不正な変更を防ぐことができます。


Public Class Person
    Private _name As String
    Private _age As Integer

    ' プロパティ
    Public Property Name As String
        Get
            Return _name
        End Get
        Set(value As String)
            _name = value
        End Set
    End Property

    Public Property Age As Integer
        Get
            Return _age
        End Get
        Set(value As Integer)
            If value >= 0 Then
                _age = value
            End If
        End Set
    End Property
End Class

この例では、_nameと_ageがフィールドで、NameやAgeプロパティを通して値を取得・設定します。Ageプロパティでは、0未満の値を設定できないように制御しています。

3. フィールドとプロパティの使い分け

3. フィールドとプロパティの使い分け
3. フィールドとプロパティの使い分け

基本的には、クラスの外部から直接アクセスしない場合はフィールドを使い、外部からアクセスする場合はプロパティを使うのがベストプラクティスです。プロパティを使うことで、データの保護や処理の追加が簡単にできます。

  • 内部処理用:フィールド
  • 外部公開用:プロパティ

4. 実際にオブジェクトで使ってみる

4. 実際にオブジェクトで使ってみる
4. 実際にオブジェクトで使ってみる

Module Module1
    Sub Main()
        Dim person1 As New Person()
        person1.Name = "太郎"
        person1.Age = 28

        Console.WriteLine("名前: " & person1.Name)
        Console.WriteLine("年齢: " & person1.Age)

        ' 年齢を負の値に設定しようとしても無視される
        person1.Age = -5
        Console.WriteLine("年齢: " & person1.Age)
    End Sub
End Module

名前: 太郎
年齢: 28
年齢: 28

このようにプロパティを使うことで、無効な値を防ぎ、安全にデータを管理できます。

5. 初心者向けのポイント

5. 初心者向けのポイント
5. 初心者向けのポイント
  • クラス内のデータを安全に扱うためにプロパティを活用する
  • フィールドは内部用として使う
  • プロパティのGet/Setで条件や加工を追加できる
  • オブジェクト指向の基本設計に沿って使い分ける

これらを理解することで、VB.NETのクラス設計がより整理され、保守性の高いプログラムが書けるようになります。

関連記事:
カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET Web APIとMVCの違いを完全解説!初心者でもわかるWebアプリとAPIの基本
New2
ASP.NET
ASP.NET開発環境構築|コマンドライン(dotnet CLI)でASP.NETプロジェクトを作成する方法
New3
VB.NET
VB.NETで文字列を綺麗に整える!String.Formatと文字列補間の使い方
New4
ASP.NET
LinuxでASP.NET Coreを動かす手順|初心者でもわかる開発環境構築ガイド
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのJoinメソッドを徹底解説!バラバラの文字列を一つに結合する方法
No.2
Java&Spring記事人気No2
VB.NET
VB.NETの文字列置換を完全解説!初心者でもわかるReplaceメソッドの使い方
No.3
Java&Spring記事人気No3
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.4
Java&Spring記事人気No4
VB.NET
VB.NETで文字列結合を高速化!StringBuilderクラスの使い方を完全ガイド
No.5
Java&Spring記事人気No5
VB.NET
VB.NETのList(Of T)の使い方を完全ガイド!初心者が最初に覚えるべきリスト操作
No.6
Java&Spring記事人気No6
VB.NET
VB.NETのDictionaryを完全ガイド!初心者でもわかる辞書の基本と応用
No.7
Java&Spring記事人気No7
VB.NET
VB.NETでStaticメソッドを定義する方法と活用例
No.8
Java&Spring記事人気No8
VB.NET
VB.NETのTrimで空白削除!初心者向け文字列整形完全ガイド