オブジェクト指向プログラミングa 第9回『クラスの継承 (前編)』〜  0.プロローグ


●クラスの継承 (前編)

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

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


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

Person.java


次に,次の様に少しだけ書き換えてみよう(赤字部分3箇所)。

Person.java
    

【JFrameクラスについて】
左のリストに登場する JFrame クラスは,javax.swing パッケージに所属するクラスで,以前使った例でもわかるとおり
ウィンドウを表すクラスである。

// JFrameの使用例
import javax.swing.JFrame; // JFrameクラスを使う為にインポートする。

    // 中略
    
// JFrame型オブジェクトを生成する。
JFrame f = new JFrame( );

// setSize( )メソッドで,ウィンドウの横幅を400ピクセル,高さを300ピクセルに設定。
f.setSize( 400, 300 );

// setVisible( )メソッドで,ウィンドウを表示する。
f.setVisible( true );
              
JFrame型のオブジェクトが表しているウィンドウのサイズは,setSize( )メソッドで設定でき,実際にウィンドウを表示するには setVisible( )メソッドに true を
渡してやれば良い。

このように,クラス定義で,クラス名Personの直後に extends JFrame と書き足しただけで
Personクラスのオブジェクトが,あたかもJFrame型のオブジェクトであるかのように扱える
ようになった
。この意外な結果を頭の片隅に置いて,本格的に「継承」の話しに入ろう。



次へ進む