2017-07-17 3 views
-2

私はデザインパターンを実装する必要のあるJavaを備えたTabletop RPG Character Creatorで作業していますが、Observerの権利を得ることはできません。ObserverがArrayListの新しい最大値を通知するために

これは私のプログラムが行うことです。起動時に

  1. 、それは をすでにフォルダから作成されたすべての文字をロードし、ArrayListの
  2. に保存します
  3. メニューは、ユーザーに新しい文字の統計情報をロールバックするオプションを提供し、ArrayListの上で、ファイルとして保存します文字の上に、私は私の観察者はArrayListの上で観察し、新しい最高のstatを持つ新しい文字が(強さ、器用に作成されたときに私を通知したい

Picture of my program's Class Diagram

フォルダなど)

私の質問で明確でないものがあれば教えてください。

答えて

1

特定のクラスに文字のリストを格納し、このクラスをObservableクラス(JDKクラスまたはより具体的な意味を持たせたい場合は独自のクラス)に拡張する必要があります。
独自のクラスを作成する場合は、 NewHighestCharacterObservableNewHighestCharacterObserverの2つのクラスを持つことができます。

  • それにNewHighestCharacterObserverを追加する方法:

    NewHighestCharacterObservableクラスは、パターンを実装するために、少なくともこれらの2つの方法を提供します。
    たとえば、addObserver(NewHighestCharacterObserver)

  • 変更をNewHighestCharacterObserverに通知する方法。
    たとえば、notifyObservers(Character newCharacterWithHigherStat)
    後で複数のオブザーバーがこの観測可能性を観察する必要がある場合は、変更が容易になるように、notifyObservers()でなく、notifyObserver()です。

    • onNewHighestCharacter(文字c)は

    これは、次のとおりです。

次に、通知されるように、更新する方法を提供NewHighestCharacterObserverインタフェースを実装することにより、観察あなたのGUIを作りますメソッドはnotifyObservers()によって呼び出されます。

+0

ありがとうございます!私はこれを実装しようとします! – langStrife

関連する問題