設計図を基に実物を作ることにより、使用することができるようになります。オブジェクト指向プログラミングの世界でも同じように、クラスを基にオブジェクトを作ることにより、コンピュータ上で動かすことができるようになります。これから見るのは、あらかじめ定義されているクラスを基に、メモリ上にオブジェクトを配置して使用する方法です。この作業は次の図のように表すことができます。
上図にあるように、クラスを基にオブジェクトを作成することを、「インスタンス生成」と呼びます。それによりできあがった“モノ”がオブジェクトまたは、インスタンスとも呼ばれます。この手順を踏むことにより利用することができるようになるわけです。
インスタンス生成の書式 |
---|
クラス名 インスタンス変数名; 変数名 = new クラス名(引数リスト); クラス名 インスタンス変数名 = new クラス名(引数リスト); |
ファイル名 | Run1.java |
---|
○ プログラム
次のようにプログラムを入力してください。
○ コンパイル
C:¥work>javac Run1.java
C:¥work>
○ 実行結果
C:¥work>java Run1
スピード:0km
ガソリン:20L
1)加速 2)減速 9)終了:1
スピード:5km
ガソリン:19.5L
1)加速 2)減速 9)終了:1
スピード:10km
ガソリン:19L
1)加速 2)減速 9)終了:2
スピード:5km
ガソリン:19L
1)加速 2)減速 9)終了:9
(終了)
○ 解説
5~8行目はshowDataメソッドを定義しています。このメソッドはCarオブジェクトを受け取り、そのオブジェクトのスピード情報とガソリン残量を表示します。
12行目ではCarオブジェクトを生成しています。そして、15~16行目で生成したオブジェクトのフィールドを初期化しています。
24~45行目は無限ループになっています。メニューが表示され、入力されたメニュー番号に応じて処理されます。加速を選択すると、33行目でCarオブジェクトのspeedUpメソッドを呼び出し、加速します。減速を選択すると、38行目でCarオブジェクトのspeedDownメソッドを呼び出し、減速します。それぞれの処理をした後にshowDataメソッドを呼び出して、現在のCarオブジェクトの状態を表示します。メニューで終了を選択するとプログラムが終了します。