目次> 第10章> 10.3 | TOPUPPREVNEXT |
クラスとインスタンスの関係は、設計図と、その設計図にしたがって 造られる物にたとえられます。
銀行の口座をクラスとすると、たとえば山田太郎さんの口座がインスタンスになります。
具体的なプログラム例をあげましょう。
5.1節で提示したプログラムでは、 コマンドラインから与えた2つの数の、和、差、積、商をならべて ひとつのウィンドウに表示しましたが、それぞれ別のウィンドウに 表示してみます。実用的な意味はありませんが、 クラス変数とインスタンス変数の使いわけの例です。
ウィンドウの数をカウントする numwin がクラス変数です。 和、差、積、商を保存する value がインスタンス変数です。
numwin はクラスにひとつしかなく、 いつも同じ場所の数値を増減させるのに対し、 value は、インスタンスごとに生成され、おのおの別の値を 保持しています。
メインメソッドの中の、 arg1 と arg2 がローカル変数の例です。
実行結果
画面の左上に、3個ないし4個のウィンドウが重なって表示されますので、
1つづつはがしてみてください。メソッド disp の最後の方に、
Point p = fr.getLocation(); /* ウィンドウの表示位置 */
fr.setLocation(p.x+20*numwin, p.y+20*numwin);/* 少し右下へ移動する */
あまり面白くない? では、講義と関係ないのですが、こんなのはいかかですか?
実行結果
更新日:2004/04/18 | TOPUPPREVNEXT |