1

のインスタンスをラップする必要があると想像してくださいjava.sql.ResultSetResultSet実際にインスタンス化されている実装の具体的なクラスが何であるかがわからないため、拡張することはできません。インスタンスを集約し、ResultSetすべてのメソッドを実装してオーバーライドするだけです。

ここで、 1つのメソッドの動作を変更したいとします。他のすべてのオーバーライドされたメソッドは、次のような長い定型文です。

public void foo() {
    wrapped.foo();
}

このジョブを実行できる自動コード生成ツール(スタンドアロンまたは一般的なIDEに含まれているもの)を知っていますか?

4

2 に答える 2

2

Eclipseで、ResultSetをメンバーとしてクラスを作成し、このメンバーにカーソルを置いてから、メニューの「ソース」>「デリゲートメソッドの生成」を選択します。

ここに画像の説明を入力してください

デリゲートを生成するメソッドを確認すると、完了です。

于 2013-02-16T19:38:59.090 に答える
1

まともなIDEならどれでもそれができるはずです。例:InteilliJ Idea:コード->生成->メソッドの委任

このオプションは、クラスに実装/拡張するタイプのメンバーフィールドがある場合に使用可能になります。

于 2013-02-16T19:38:47.557 に答える