-1

同じメソッドの多くを使用する作業中の複数の Java ファイルがあります。今のところ、メソッドのいずれかを更新するときは、他のファイルでそのメソッドを見つけて手動で更新する必要があります。私が普遍的に使用している多くの異なるメソッドの本体を保持する「マスターファイル」からメソッドを実装することで、これをどのように行うことができるのか疑問に思っています。私の研究では、インターフェイスを介してこれを行うことができると考えていましたが、インターフェイスを作成すると、ボディを追加できません...だから、明らかに私はそこで何か間違ったことをしているか、インターフェイスを間違って使用しています. いずれにせよ、この目標を達成するために何が最善でしたか?

4

3 に答える 3

0

クラスが関連しており、親子関係がある場合は、この共通コードを保持する親クラス (おそらく抽象) にメソッドを含めることができます。

クラスが関連していなくても、いくつかの共通コードがある場合は、共通コードをユーティリティ クラスに移動することをお勧めします。

コードを見るだけで、より多くのコメントを提供できます。

于 2013-06-27T11:18:05.793 に答える
0

(クラスの)「多重継承」という質問にタグを付けたので、Java ではそれが不可能であり、抽象クラスを使用することは階層では意味がないことがわかったと思います。

あなたができることは、委譲テクニックを利用することです: クラスをクラス A にして、すべての一般的なメソッドをそこに置きます。クラス B と C では、クラス A のインスタンスを作成し、そのクラスのすべてのメソッドを使用できます。例:

A delegate = new A();
delegate.someMethod();

委任パターンの詳細については、こちらをご覧ください。

于 2013-06-27T11:25:42.193 に答える
0

親(おそらく抽象)クラスと子クラスを使用する必要があるようです。

親クラス:

public class Parent {
     public void method1() {
          System.out.println("You can call this method from Child");
     }
}

子クラス:

public class Child extends Parent {
    // Because you're extending Parent, it will allow you to use the method in your parent class.
    public void method2() {
        System.out.println("You can't call this method from Parent");
    }
}

メソッドを呼び出すと、次のように実行できます。

Parent parent = new Parent();
parent.method1();

Child child = new Child();
child.method1();
child.method2();

出力:

"You can call this method from Child"
"You can call this method from Child"
"You can't call this method from Parent"

ここで親クラスの method1 を編集すると、子クラスの出力が自動的に変更されます。

于 2013-06-27T11:19:18.177 に答える