名前空間とは

 .NET Frameworkはクラスの集合体です。様々な種類のクラスで構築されていますが、その数はとても多いため、扱いやすくするためにグループ化されています。その単位を名前空間と呼びます。名前空間という概念があるため、必要とするクラスが探しやすくなります。また、同じ名前のクラスがあっても必要なものを特定できるようになっています。この仕組みは例えると、Windows系の場合はフォルダーとファイルの関係に、Unix系の場合はディレクトリーとファイルの関係と言えます。

 また、独自のクラスを作るときは、同じ名前のクラス名を付けないようにするために名前を考える必要がありますが、パッケージを分けることにより同じ名前を付けて扱うことが可能になっています。今まで作成していたクラスは名前空間の指定はしませんでしたが、規定では自動的にプロジェクト名の名前空間が指定されています。

 名前空間を指定してクラスを作るにはプログラムの最初に次のように指定します。

名前空間指定の書式
Namespace 名前空間名
 クラス定義
End Namespace

○ プロジェクト

 プロジェクトを作成して確認してみましょう。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 NamespaceTest

サンプルダウンロード

○ プログラム

 次のように名前空間を指定したPackTestクラスを作成してください。

SpaceTest.vb

  1. Namespace MySpace
  2.  Public Class SpaceTest
  3.   Public Function Message() As String
  4.    Return "違う名前空間のクラスからのメッセージ"
  5.   End Function
  6.  End Class
  7. End Namespace

○ 解説

 1行目から名前空間を指定しています。今回はMySpace名前空間を指定しています。これにより、SpaceTestクラスを利用する場合、同じMySpace名前空間に所属している場合はクラス名だけを指定して利用できますが、異なる場合は、名前空間を指定してクラスを利用するようになります。なおVBでは、自動的にプロジェクト名の名前空間に所属するようになるため、今回の場合は「NamespaceTest.SpaceTest」名前空間に所属することになります。

○ プログラム

 MainメソッドにSpaceTestを利用するプログラムを記述しましょう。

Module1.vb

  1. Module Module1
  2.  Sub Main()
  3.   'SpeceTestオブジェクトを生成
  4.   Dim obj As New MySpace.SpaceTest()
  5.   'メッセージを表示する
  6.   Console.WriteLine(obj.Message)
  7.   Console.ReadLine()
  8.  End Sub
  9. End Module

○ 解説

 5行目でSpaceTestクラスのインスタンス生成をしています。このクラスは名前空間が違うために、「名前空間名.クラス名」のように指定する必要があります。

○ 実行結果

違う名前空間のクラスからのメッセージ

前へ   次へ