VB.NETプログラムの基本的な構造
VB.NETの開発で多く使用されている開発環境「VisualStudio」で、プログラムの基本構造について説明していきます。
VisualStudioプログラムを作成すると、拡張子がvbのファイルが作成され、ソースコードはここに記載していくことになります。
なお、VB.NETのプログラムは基本的に以下の図のように構成されています。
それでは早速ですが、vbファイルの中身を見てみましょう。
1 2 3 4 5 6 7 8 9 |
Imports System Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Console.WriteLine("VB.NET プログラムの基本構造") End Sub End Class |
上記について、順に説明していきます。
Importsステートメント
1行目のImportsとは、次に説明する「ネームスペース」に存在するクラスやメソッドを、使用できるようにするための記述です。
例えば6行目のWriteLineメソッドは、SystemネームスペースのConsoleクラスに定義してあるメソッドですが、上記のように使用することが可能です。
なお、VisualStudioを使用している場合は、プロジェクトを作成した時点でSystemネームスペースがデフォルトで参照に追加されているため、Importsステートメントで指定しなくても機能を使用することができます。
もちろん、他のネームスペースについても、参照に追加してあげることで、Importsステートメントは不要となります。
namespace(名前空間)
namespaceは名前空間とも呼ばれます。
VB.NETの場合、C#のようにnamespaceは特に記述しなくとも、既定の名前空間に自動で属するため問題ありません。
もし独自の名前空間を指定したい場合は、以下のように記述しましょう。
1 2 3 4 5 |
Namespace SampleNamespace ' クラスの記述 End Namespace |
ちなみに名前空間とは、プログラムに使用するすべてのパーツを入れる一番大きな箱というイメージです。
そのため、同じネームスペース内のプログラムは関連し合っているものであることが一般的です。
class(クラス)
3行目のclassとは、プログラムに使用するパーツ(メソッド等)を使用しやすい単位でまとめた箱というイメージです。
例えば、ファイルを読み込んで、処理して、Excelに出力する。という処理を、複数のプログラムで行いたい場合に、「ファイル読書関連クラス」「Excel出力関連クラス」という共通クラスにしておくことで、複数のプログラムのクラスにそれぞれ読書処理を記述しなくても、共通クラスから処理を呼び出すだけよくなります。
これはコードの可読性や、メンテナンス性の向上につながるためぜひ覚えておいてください。
メソッド(関数)
メソッドとは、関数のようなもので、処理のまとまりのことを指します。
上記の例だと、5行目のForm1_Loadがメソッドであり「フォームが読み込まれたときに実行する処理」が記述がされたまとまりです。
また6行目のWriteLineも、SystemネームスペースのConsoleクラスに定義されているメソッドを呼び出しているものであり「引数に指定した内容をコンソールに出力する」ための記述がされたまとまりとなります。
メソッドの中でも、最初にご紹介した図のMainメソッドというのは少し特別で、プログラムを開始した時、このMainメソッドから処理が実行されていくことになります。
これはエントリーポイントと呼ばれています。
なお、VB.NETではMeinメソッドをコンパイラが自動生成するため、C#のように記述する必要はありませんが、もしMainメソッドに処理を指定したい場合は、クラスの中に以下のように記述しましょう。
1 2 3 4 |
<STAThread()> _ Shared Sub Main() Application.Run(New Form1()) End Sub |
プログラムの実行
上記のプログラムを実行した結果がこちらです。
VB.NET プログラムの基本構造
WriteLineメソッドで引数に指定した内容がコンソールに表示されました。
以上が、VB.NETのプログラムの基本構造となります。
処理のまとまりの単位やクラスの活用法など、覚えることが多いですが焦る必要はありません。
これらを意識しながら実際にコーディングを行っていけば必ず身につく内容ですので、ぜひ参考にしてみてください。