CodeZine(コードジン)

特集ページ一覧

Eclipse 3.4のコード生成&リファクタリング機能 ~Eclipse 3.4入門~

第8回

  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

スーパークラスからのコンストラクターの生成

 今度は、単体ではなく継承クラスでのコード生成機能の利用例として、スーパークラスからのコンストラクターの生成機能を説明します。この機能はサブクラスの生成時に一括実行できます。また、生成後に設定を書き換えながら実行することもできます。今回は、サブクラスの生成時に一括実行してみましょう。

 先ほど作成・編集した「HelloStaff」クラスからサブクラス「HelloEmp」を作成しますので、パッケージ・エクスプローラーで、パッケージ名[hello1]を右クリックして[新規(W)]-[クラス]を実行し、「新規Javaクラス」の設定ウィンドウを開きます。[名前]に「HelloEmp」と入力して[スーパークラス(S)]の[参照(E)]をクリックします。

図31:[名前]に入力して[スーパークラス]の[参照]をクリック
図31:[名前]に入力して[スーパークラス]の[参照]をクリック

 「スーパークラスの選択」ウィンドウが表示されるので、[型を選択してください(C)]に「HelloStaff」とタイプします。[一致する項目(M)]にhello1パッケージのHelloStaffクラスが表示されますので、選択して[OK]をクリックします。

図32:[型を選択してください]に入力して[一致する項目][OK]をクリック
図32:[型を選択してください]に入力して[一致する項目][OK]をクリック

 「新規Javaクラス」ウィンドウに戻ります。[スーパークラス(S)]に「hello1.HelloStaff」が表示されているのを確認し、「どのメソッド・スタブを作成しますか」の[スーパークラスからのコンストラクター(C)]をチェックしてから[終了(F)]をクリックします。

図33:[スーパークラスからのコンストラクター]をチェックして[終了]をクリック
図33:[スーパークラスからのコンストラクター]をチェックして[終了]をクリック

 エディタービューにクラス「HelloEmp」が表示されます。スーパークラスとコンストラクターが指定したとおりに定義されていることを確認します。

※注

 コンストラクターの内容は自動的にスーパーコンストラクターの呼び出しになります。

図34:スーパークラスとコンストラクターが定義されている
図34:スーパークラスとコンストラクターが定義されている

 なお、サブクラスの生成時にスーパークラスからのコンストラクターの生成をせずに、サブクラスを生成してから[ソース(S)]-[スーパークラスからコンストラクターを生成(C)]を実行することもできます。こうすると、下図のとおり「スーパークラスからのコンストラクターの生成」ウィンドウが表示され、実装するコンストラクターの選択や、挿入ポイント、アクセス修飾子、コンストラクターコメントの作成などを細かく設定することができます。

※注

 全てのコンストラクターを生成済みの場合、「スーパークラスから追加できるコンストラクターはありません」と表示され、「スーパークラスからのコンストラクターの生成」ウィンドウは表示されません。

図35:【参考】「スーパークラスからのコンストラクターの生成」ウィンドウ
図35:【参考】「スーパークラスからのコンストラクターの生成」ウィンドウ

メソッドのオーバーライド

 継承クラスでのコード生成機能のもう一つの利用例として、メソッドのオーバライド機能を説明します。今回は暗黙のスーパクラスであるObjectクラスから継承したtoString()メソッドを、オーバライドしてから編集してみましょう。

 パッケージ・エクスプローラーで[HelloEmp.java]ファイルまたは[HelloEmp]クラスを選択して[ソース(S)]-[メソッドのオーバーライド/実装(V)]を実行します。

図36:[ソース]-[メソッドのオーバーライド/実装]を実行
図36:[ソース]-[メソッドのオーバーライド/実装]を実行

 「メソッドをオーバーライド/実装」ウィンドウが表示されるので、「オーバライドまたは実装するメソッドを選択」でオーバライドしたいメソッドのチェックボックスをオンにします。今回は暗黙のスーパークラスであるObjectクラスのtoString()メソッドとします。チェックボックスを確認して[OK]をクリックします。

図37:オーバライドしたいメソッドのチェックボックスをオンにして[OK]をクリック
図37:オーバライドしたいメソッドのチェックボックスをオンにして[OK]をクリック

 エディタービューに戻ります。指定したとおり、オーバーライドのtoString()メソッドが定義されていることを確認します。

図38:オーバーライドのtoString()メソッドが定義されている
図38:オーバーライドのtoString()メソッドが定義されている

 このままではオーバライドする意味がありませんので、Getterメソッドを用いるように編集します。「return super.toString();」を「return super.getName();」に書き換えます。

※注

 編集後のメソッドを後述のプルアップ機能の説明に用います。

図39:オーバーライドしたメソッドの中身を書き換える
図39:オーバーライドしたメソッドの中身を書き換える

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Eclipse 3.4からはじめるIDE入門

もっと読む

著者プロフィール

  • 平野正喜@ランドッグ・オーグ(ヒラノマサキ)

    フリーのIT系執筆者&講使(※)の「ランドッグのマウ」こと平野正喜(HIRANO Masaki)です。 【略歴】 1962年札幌市生まれ。今で言うIT企業のシステムエンジニア、プロジェクトリーダー、システムコンサルタント、採用担当などを経て独立し、2002年11月にランドッグ・オーグ平野正喜事...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5