プログラミング応用a 第11回 『継承の基礎1』 11-0. プロローグ

【11-0. プロローグ】
 ●前回までに,変数の一生の流れに沿って説明してきたが,ここからは新たなトピック『継承』に入る。

その前に,今までの知識だけでけっこうプログラミングが楽しめることを示そう。これは,今まで学習してきた内容の復習だが,今回学習する『継承』という機能の導入も兼ねている

Javaに用意されている「ウィンドウ」を表すクラス javax.swing.JFrame を使って遊んでみよう。
JFrame には複数のコンストラクタと多くのメソッドがあるが,ここでは次のコンストラクタとメソッドを紹介する。



上表で紹介したコンストラクタとメソッドを利用したプログラム例を以下のプログラムに示すので,実行してみよ 。
MyWindow.java


実行すると下図のように,ウィンドウタイトルが"hello!",横幅300ピクセル,高さ400ピクセルのウィンドウが表示される。
プログラムを終了するには,表示されたウィンドウのクローズボタン(赤い四角に×印)か,Eclipse 上で表示されている停止ボタン(赤い四角)をクリックする。



●さて,これからオブジェクト指向プログラミングの根幹である「クラスの継承」という考え方を学ぶ。

詳しい説明は後にして,このクラスの継承(inheritance)を実際に行うとどのような現象が起こるのか,試してみよう。

■まず,おなじみの Personクラスの例を見てみよう。
 以下のプログラムは,main()メソッドを実行すると,人間を表す Person クラスのオブジェクト
 を1個生成して talk() メソッドで自己紹介するだけである。

Person.java


次に,このPersonクラスを利用したソースプログラムを,次の様に少しだけ書き換えてみよう(赤字部分3箇所)。
Person.java


このように,クラス定義で,クラス名Personの直後に extends JFrame と書き足しただけで, Personクラスのオブジェクトが,
あたかもJFrame型のオブジェクトであるかのように扱えるようになった
。実際にエラーもおきないし,実行するとちゃんとウィンドウ
が表示される。


「Person型オブジェクトが,JFrame型オブジェクトしても使えるようになっちゃった(゜ロ゜)ナンデ!?」。
この意外な結果を頭の片隅に置いて,本格的に「継承」の話しに入ろう。

次へ進む