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

VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説

VB.NETのコンストラクタと初期化処理の書き方
VB.NETのコンストラクタと初期化処理の書き方

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

生徒

「先生、VB.NETでクラスを作るときに初期化処理ってどう書くんですか?」

先生

「それにはコンストラクタという特別なメソッドを使います。オブジェクトを作ったときに自動で初期化処理を実行できるんですよ。」

生徒

「コンストラクタって何ですか?」

先生

「コンストラクタは、クラスからオブジェクトを作成するときに自動で呼ばれる特別なメソッドです。例えば、人を表すクラスで名前や年齢をセットしたい場合に使います。」

1. コンストラクタの基本

1. コンストラクタの基本
1. コンストラクタの基本

VB.NETでコンストラクタを定義するには、Sub New()を使います。Newという名前は固定で、オブジェクト生成時に自動で呼ばれます。


Public Class Person
    Public Name As String
    Public Age As Integer

    ' コンストラクタ
    Public Sub New(name As String, age As Integer)
        Me.Name = name
        Me.Age = age
        Console.WriteLine("Personオブジェクトが作成されました")
    End Sub
End Class

ここでMeは、自分自身のオブジェクトを指し、フィールドに値をセットするために使います。

2. オブジェクト生成と初期化処理

2. オブジェクト生成と初期化処理
2. オブジェクト生成と初期化処理

コンストラクタを使うと、オブジェクト生成と同時にフィールドの初期化ができます。


Module Module1
    Sub Main()
        Dim person1 As New Person("太郎", 25)
        Console.WriteLine("名前: " & person1.Name)
        Console.WriteLine("年齢: " & person1.Age)
    End Sub
End Module

Personオブジェクトが作成されました
名前: 太郎
年齢: 25

このように、オブジェクト作成時に必要な情報を渡して初期化できるので、後からフィールドを設定する手間が省けます。

3. 引数なしのコンストラクタ

3. 引数なしのコンストラクタ
3. 引数なしのコンストラクタ

引数なしのコンストラクタも作ることができます。初期値を設定したい場合に便利です。


Public Class Person
    Public Name As String
    Public Age As Integer

    ' 引数なしコンストラクタ
    Public Sub New()
        Name = "名無し"
        Age = 0
    End Sub
End Class

呼び出し例:


Dim person2 As New Person()
Console.WriteLine("名前: " & person2.Name)
Console.WriteLine("年齢: " & person2.Age)

名前: 名無し
年齢: 0

初期値を設定しておくことで、後から値をセットする前でも安全にオブジェクトを使えます。

4. 初心者向けの例え

4. 初心者向けの例え
4. 初心者向けの例え

コンストラクタは「家を建てるときに家具や電気をセットしてくれる工事人」と考えるとわかりやすいです。家(オブジェクト)が完成するタイミングで必要な準備(初期化)が自動で行われます。

5. 複数のコンストラクタを使い分ける

5. 複数のコンストラクタを使い分ける
5. 複数のコンストラクタを使い分ける

VB.NETでは同じクラスに複数のコンストラクタを定義できます。引数の数や型で使い分けることができ、柔軟な初期化処理が可能です。


Public Class Person
    Public Name As String
    Public Age As Integer

    ' 引数なし
    Public Sub New()
        Name = "名無し"
        Age = 0
    End Sub

    ' 引数あり
    Public Sub New(name As String)
        Me.Name = name
        Age = 0
    End Sub

    ' 引数2つ
    Public Sub New(name As String, age As Integer)
        Me.Name = name
        Me.Age = age
    End Sub
End Class

このようにオーバーロードされたコンストラクタを使うと、様々な初期化パターンに対応できます。

関連記事:
カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET WebFormsでデータベースと連携!初心者でもできる保存と表示の基本
New2
VB.NET
VB.NETでStackTraceを利用してエラー箇所を特定する方法を完全解説!初心者向け例外処理入門
New3
ASP.NET
ASP.NET WebFormsでフォーム入力とデータ送信をマスター!初心者向け解説
New4
VB.NET
VB.NETで例外メッセージを取得してログに残す方法を完全解説!初心者向け例外処理入門
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのEnum(列挙型)の使い方を完全解説!初心者にも分かる定義と活用方法
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのIf文の使い方と条件分岐を完全ガイド!初心者でもわかる基本構文と実例
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのBoolean型(True/False)の使い方と条件分岐での活用方法を徹底解説!初心者でも理解できる基本
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のコンストラクタと初期化処理の書き方を初心者向けに解説
No.7
Java&Spring記事人気No7
VB.NET
VB.NETのThrowを完全ガイド!初心者でもわかる例外を自分で発生させる方法
No.8
Java&Spring記事人気No8
VB.NET
VB.NETでデフォルト引数を設定する方法を徹底解説!初心者向け