CodeZine(コードジン)

特集ページ一覧

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

第8回

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

目次

メソッドのプルアップ

 最後に、継承クラスでのリファクタリング機能のもうひとつの利用例として、プルアップ機能を説明します。プルアップはプッシュダウンの反対で、サブクラスのフィールドやメソッドをスーパークラスに移動することです。メソッドをプルアップする場合、移動する代わりにスーパークラスにそのメソッドのabstract宣言を追加してオーバライドに変更することもできます。今回は、先ほどHelloEmpクラスにオーバライドで作成したtoString()メソッドをHelloStaffクラスに移動してみましょう。
パッケージ・エクスプローラーで[HelloEmp]クラスの[toString()]を選択して[リファクタリング(T)]-[プルアップ(U)]を実行します。

図49:[toString()]を選択して[リファクタリング]-[プルアップ]を実行
図49:[toString()]を選択して[リファクタリング]-[プルアップ]を実行

 「プルアップ」ウィンドウが表示されるので、宛先が「hello1.HelloStaff」であること、メンバー[toString()]のチェックボックスがオンになっていること、アクションが[プルアップ]になっていることを確認して、[次へ(N)]をクリックします。

※注

 移動する代わりに、スーパークラスにそのメソッドのabstract宣言を追加してオーバライドに変更したい場合は、[アクションを設定(I)]をクリックして「アクションの設定」ウィンドウを表示し、[選択したメンバーのアクション(A)]を[宛先でabstractを宣言]に変更します。

図50:確認して[次へ(N)]をクリック
図50:確認して[次へ(N)]をクリック

 サブクラス内の除去するメソッドを選択するウィンドウに切り替わるので、確認して[次へ(N)]をクリックします。

図51:確認して[次へ(N)]をクリック
図51:確認して[次へ(N)]をクリック

 プレビュー画面に切り替わります。今回の場合も、スーパクラスとサブクラスのそれぞれに変更が加わりますので、[実行される変更]で1つずつ確認しましょう。まず、サブクラスである「HelloEmp」ではtoString()メソッドが削除されることがわかります。

図52:サブクラスの変更を確認
図52:サブクラスの変更を確認

 次に、[実行される変更]でスーパークラスである[HelloStaff]をクリックします。toString()メソッドが追加されています。同時に[super.getName()]が[this.getName()]に書き換えられています。確認して[終了(F)]をクリックしプルアップを実行します。

図53:スーパークラスの変更を確認して[終了]をクリック
図53:スーパークラスの変更を確認して[終了]をクリック

 エディタービューに戻ります。プレビューの通りに2つのクラスが変更されていることを確認します。パッケージ・エクスプローラーにも変更が反映しています。

図54:2つのクラスが変更されていることを確認
図54:2つのクラスが変更されていることを確認

まとめ

 今回の説明でコード生成機能とリファクタリング機能の初歩を理解できたと思います。プログラミング経験の長い方は「こんな機能使わなくても、自分でやった方が早い」と思うかもしれませんが、ポイントは作業ミスや変更モレの防止にあります。また、Eclipseは文法エラーを即時にチェックしてくれるのでタイプミスの発見はしやすいですが、リファクタリングを手で行った場合、文法エラーにならないような変更モレが起こることがあります。まずは、一度試しに使ってみてはいかがでしょうか?

 Eclipseのメニューバーを見て分かるとおり、Eclipseには多数のコード生成機能、リファクタリング機能が実装されています。今回紹介したのは、その中のほんのいくつかにすぎません。次回は、紹介しきれなかったEclipse 3.4のリファクタリング機能について、解説していきます。



  • 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