Javaは、1つのインターフェースを使用して2つのクラスに異なるメソッドを実装します

Cao Felix

Javaの質問があり、メソッドを正しく実装する方法がわかりません。私は建築があまり得意ではありません。

Data Managerインターフェースクラス:

public interface DataManager {
   public void readData();
   public void writeData();
}

データ抽象クラス:

public abstract class Data implements DataManager {
    @Override
    public void readData() {};
    @Override
    public void writeData() {};
}

データリーダークラス:

public class DataReader extends Data {
   // I want to implement the readData() here
}

データライタークラス:

public class DataWriter extends Data {
   // I want to implement the writeData() here
}

readData()とwriteData()を1つのインターフェイスだけで2つの異なるクラスに別々に実装したい場合、それは可能ですか?なぜこうしているのかわかりません。リーダークラスまたはライタークラスにメソッドを追加すると、見た目がすっきりと簡単になるかもしれません。すべてを1つのクラスに実装する必要がありますか?

このライブラリで、managerオブジェクトを使用するユーザーがデータの読み取りと書き込みにアクセスできるようにしたいと思います。しかし、実装に関しては、どうすれば正しく実行できるのかわかりません。

Cao Felix

多くの変更を加えた後、私はこのようにそれを行い、それが私の解決策に合うと思います。

Data Managerインターフェースクラス:

public interface DataManager {
   public Data readData(); // from database
   public void writeData(); // to database
}

DataConnectorクラス:

public class DataConnector implements DataManager {
   DataCreate creator = new DataCreate();
   @Override
   public Data readData() {
       return creator.readData();
   };
   @Override
   public void writeData() {
       creator.writeData();
   };
   public Connection getConnection() {...};
   public void close() {...};
}

データ作成クラス:

public class DataCreate {
   public void readData() {
      new DataReader().readData();
   }

   public void writeData() {
      new DataWriter().writeData();
   }
}

データリーダークラス:

public class DataReader {
   // I want to implement the readData() here
   public Data readData(){...};
}

データライタークラス:

public class DataWriter {
   // I want to implement the writeData() here
   public void writeData(){...};
}

例:

DataManager manager = new DataConnector();
manager.readData();
manager.writeData();

したがって、クライアントは、マネージャーのパブリックインターフェイスのメソッドのみを使用してデータベースの読み取りと書き込みを行います。エドワード・ピーターズは私に作曲について言及しました、そして私はその時それを理解していませんでした。私が今していることが、作曲がすべきことなのかどうかはよくわかりません。クレジットは彼に行くべきだと思います。助けてくれてありがとう。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Java 8は1つのインターフェースを使用して別のインターフェースにメソッドを実装します

分類Dev

Java-異なるメソッドで2つのインターフェースを実装する

分類Dev

seleniumwebdriverのxmlスイートを使用して複数のメソッドを1つずつ持つ2つの異なるクラスを実行する方法

分類Dev

同じメソッドを持つクラスに2つのインターフェースを実装します。どのインターフェイスメソッドがオーバーライドされますか?

分類Dev

C#-1つのインターフェイス、2つの実装:メソッド呼び出しを1つの実装から別の実装にリダイレクトする方法は?

分類Dev

異なるクラスに対して1つのインターフェイス実装を作成するにはどうすればよいですか?

分類Dev

Java 8では、同じ名前のメソッドで2つのインターフェースを実装します。最初のメソッドには本体がなく、2番目のメソッドには本体があります。

分類Dev

CrudRepository インターフェースを使用して、異なるタイプのオブジェクトを返すメソッドを自動実装する

分類Dev

(明示的にそのインタフェースを実装せずに)インタフェースのメソッドを実装するクラスは、その特定のインターフェイスを拡張していますか?

分類Dev

匿名クラスのインターフェースからメソッドを1つだけ実装する

分類Dev

インターフェイスを使用して、2つの異なる型がgolangで同じメソッドをどのように実装できますか?

分類Dev

MethodHandlesを使用して、Java 8でインターフェイスを実装するクラスのメソッドを呼び出す方法は?

分類Dev

実装クラスごとに異なるパラメーターを持つJavaインターフェイスメソッドを定義するクリーンな方法はありますか?

分類Dev

そのインターフェースを実装するすべてのクラスがその実装を使用するように、インターフェースメソッドをモックします

分類Dev

Javaのインターフェースを実装するサブクラスは独自のメソッドを持つことができますか?

分類Dev

クラスは、Javaの2つの異なるスレッドに対して2つの実行メソッドを持つことができますか?

分類Dev

ctrl-clickは、クリックしたメソッドの宣言に移動します。1つの実装を持つインターフェースの場合、その実装に直接行くにはどうすればよいですか?

分類Dev

複数のクラスを使用して1つのインターフェイスを実装する

分類Dev

複数のクラスを使用して1つのインターフェイスを実装する

分類Dev

タイプパラメータのクラスを返すメソッドを使用してインターフェイスを実装します

分類Dev

インターフェイスからのメソッドは1つのパラメーターを取りますが、2つの異なるオブジェクトで使用されます

分類Dev

2つのジェネリック型を持つ1つのインターフェースを実装するJavaクラスを作成する方法は?

分類Dev

インターフェイスパラメータを使用したインターフェイスメソッド。実装にはパラメータとして独自のクラスがあります。

分類Dev

Javaは、クラスのフィールドとして2つの異なるオブジェクトタイプを使用します

分類Dev

1つのインターフェースメソッドの異なるタイプの実装

分類Dev

異なるメソッド名を使用したインターフェースの実装

分類Dev

直接アクセスがまだ可能であるのに、インターフェイスがポインター参照を持つメソッドを実装しないのはなぜですか?

分類Dev

インターフェースを実装するクラスのコピーメソッドの実装-Java

分類Dev

彼らは同じインターフェイスを実装しますように両方とも同じ名前、署名および戻り値の型振る舞いを持つメソッドを持っている2つのクラスを作る方法

Related 関連記事

  1. 1

    Java 8は1つのインターフェースを使用して別のインターフェースにメソッドを実装します

  2. 2

    Java-異なるメソッドで2つのインターフェースを実装する

  3. 3

    seleniumwebdriverのxmlスイートを使用して複数のメソッドを1つずつ持つ2つの異なるクラスを実行する方法

  4. 4

    同じメソッドを持つクラスに2つのインターフェースを実装します。どのインターフェイスメソッドがオーバーライドされますか?

  5. 5

    C#-1つのインターフェイス、2つの実装:メソッド呼び出しを1つの実装から別の実装にリダイレクトする方法は?

  6. 6

    異なるクラスに対して1つのインターフェイス実装を作成するにはどうすればよいですか?

  7. 7

    Java 8では、同じ名前のメソッドで2つのインターフェースを実装します。最初のメソッドには本体がなく、2番目のメソッドには本体があります。

  8. 8

    CrudRepository インターフェースを使用して、異なるタイプのオブジェクトを返すメソッドを自動実装する

  9. 9

    (明示的にそのインタフェースを実装せずに)インタフェースのメソッドを実装するクラスは、その特定のインターフェイスを拡張していますか?

  10. 10

    匿名クラスのインターフェースからメソッドを1つだけ実装する

  11. 11

    インターフェイスを使用して、2つの異なる型がgolangで同じメソッドをどのように実装できますか?

  12. 12

    MethodHandlesを使用して、Java 8でインターフェイスを実装するクラスのメソッドを呼び出す方法は?

  13. 13

    実装クラスごとに異なるパラメーターを持つJavaインターフェイスメソッドを定義するクリーンな方法はありますか?

  14. 14

    そのインターフェースを実装するすべてのクラスがその実装を使用するように、インターフェースメソッドをモックします

  15. 15

    Javaのインターフェースを実装するサブクラスは独自のメソッドを持つことができますか?

  16. 16

    クラスは、Javaの2つの異なるスレッドに対して2つの実行メソッドを持つことができますか?

  17. 17

    ctrl-clickは、クリックしたメソッドの宣言に移動します。1つの実装を持つインターフェースの場合、その実装に直接行くにはどうすればよいですか?

  18. 18

    複数のクラスを使用して1つのインターフェイスを実装する

  19. 19

    複数のクラスを使用して1つのインターフェイスを実装する

  20. 20

    タイプパラメータのクラスを返すメソッドを使用してインターフェイスを実装します

  21. 21

    インターフェイスからのメソッドは1つのパラメーターを取りますが、2つの異なるオブジェクトで使用されます

  22. 22

    2つのジェネリック型を持つ1つのインターフェースを実装するJavaクラスを作成する方法は?

  23. 23

    インターフェイスパラメータを使用したインターフェイスメソッド。実装にはパラメータとして独自のクラスがあります。

  24. 24

    Javaは、クラスのフィールドとして2つの異なるオブジェクトタイプを使用します

  25. 25

    1つのインターフェースメソッドの異なるタイプの実装

  26. 26

    異なるメソッド名を使用したインターフェースの実装

  27. 27

    直接アクセスがまだ可能であるのに、インターフェイスがポインター参照を持つメソッドを実装しないのはなぜですか?

  28. 28

    インターフェースを実装するクラスのコピーメソッドの実装-Java

  29. 29

    彼らは同じインターフェイスを実装しますように両方とも同じ名前、署名および戻り値の型振る舞いを持つメソッドを持っている2つのクラスを作る方法

ホットタグ

アーカイブ