カテゴリ: 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
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の配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.4
Java&Spring記事人気No4
VB.NET
VB.NETのIf文の使い方と条件分岐を完全ガイド!初心者でもわかる基本構文と実例
No.5
Java&Spring記事人気No5
VB.NET
VB.NETプログラムの実行方法まとめ!Visual Studio・コマンドラインの使い方
No.6
Java&Spring記事人気No6
VB.NET
VB.NETの例外処理を完全ガイド!初心者でもわかるSystem.Exceptionの仕組み
No.7
Java&Spring記事人気No7
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.8
Java&Spring記事人気No8
VB.NET
VB.NETでの変数名の付け方とは?わかりやすくエラーの起きにくい命名規則を紹介