クラスとは

 例として、テレビを取り上げてみましょう。テレビはひとりでにできあがったわけではありませんし、無計画に作っているわけでもありません。設計図があって、それを基に製造されています。ひとつの設計図を基に、外観や機能などが同じテレビを何台も作ることができます。オブジェクト指向におけるプログラムの基本も同じです。設計図を作成する作業をはじめに行ないます。それは、クラスを作成することによって行ないます。つまりクラスは、現実の世界で言う設計図のような役割を果たします。

 では、そのクラスはどのように記述するのでしょうか。

クラス定義の書式
Class クラス名
 各種定義…
End Class

 まずは、クラスを作成しましょう。

○ プロジェクト

 プロジェクトを作成して確認してみましょう。今回は実行してもまだ何も表示されません。

プロジェクトの種類 Windows フォーム アプリケーション
プロジェクト名 ClassTest

サンプルダウンロード

○ クラス作成

 ソリューションエクスプローラーより、プロジェクト名を右クリックし、「追加(D)」―「クラス(C)...」をクリックします。

クラスを追加する
クラスを追加する

 「新しい項目の追加」より「テンプレート」は「クラス」が選択されているのを確認してください。ファイル名を、作成したいクラス名とします。今回は、「Car」という名前のクラスを作成します。ファイル名を入力し、「追加」ボタンをクリックします。

クラス作成の設定
クラス作成の設定

 すると、クラスが作成されます。

クラスのスケルトン
クラスのスケルトン

 ここまでで、クラスである設計図の単位となるものを作成しました。これから、設計図に具体的な記述をしていくことになります。では、クラスには何を記述するのでしょうか。クラスは、基本的に次のような構成になっています。

クラスの構造
クラスの構造

 ○ フィールド ・・・ テレビで例えるなら、画面の明るさや、画面の濃さなどを表す特徴や属性。プログラムでは、変数で表現される。フィールド変数とも呼ばれる。

 ○ メソッド ・・・ テレビで例えるなら、テレビが持っている機能や操作。プログラムでは、関数で表現される。

 上記のクラス内で定義されるフィールドやメソッドをメンバと呼びます。

フィールド変数定義の書式
修飾子 変数名 As データ型

メソッド定義の書式
修飾子 Sub メソッド名(引数リスト)
 処理
End Sub

修飾子 Function メソッド名( 引数リスト) As 戻り値の型
 処理
 Return 戻り値
End Function

 先ほど作成したクラスにメンバを記述しましょう。

○ プログラム

 先ほど作成したクラスにフィールド・メソッドの記述をしましょう。今回は仕様として、車はスピードと燃料残をデータとして持ち、加減速する機能があるものとします。次のプログラムを入力してください。

  1. Public Class Car
  2.  'フィールド==========
  3.  Public m_speed As Integer   'スピード情報
  4.  Public m_gas As Double     'ガソリン情報
  5.  'メソッド==========
  6.  '加速させるメソッド
  7.  Public Sub SpeedUp(ByVal sp As Integer)
  8.   Me.m_speed += sp
  9.   Me.m_gas -= sp / 10     '加速するとガソリンが減る
  10.  End Sub
  11.  '減速させるメソッド
  12.  Public Sub SpeedDown(sp As Integer)
  13.  Me.m_speed -= sp        '減速した場合はガソリンは消費しない
  14.   If Me.m_speed < 0 Then
  15.    Me.m_speed = 0
  16.   End If
  17.  End Sub
  18. End Class

 ここまでで、クラスである設計図の記述方法を見てきました。あくまでも設計図のため、このままでは使用することができません。これを基に実物を作る作業が必要です。それに関して次の節で学習します。

前へ   次へ