Java 观察员通知ArrayList中的新最大值
我正在用Java开发一个桌面RPG角色生成器,它必须实现设计模式,但我似乎不能正确地使用Observer 这就是我的程序所做的Java 观察员通知ArrayList中的新最大值,java,arraylist,observer-pattern,Java,Arraylist,Observer Pattern,我正在用Java开发一个桌面RPG角色生成器,它必须实现设计模式,但我似乎不能正确地使用Observer 这就是我的程序所做的 启动时,它将加载已从文件夹中创建的所有字符,并将它们保存在Arraylist中 菜单为用户提供了一个选项,可以滚动新角色的统计信息,并将其保存在Arraylist和characters文件夹中的文件中 我希望我的观察者在ArrayList上观察,并在创建具有新的最高属性(力量、灵巧度等)的新角色时通知我。 如果我的问题不清楚,请告诉我 您应该将字符列表存储在一个特定的
如果我的问题不清楚,请告诉我 您应该将字符列表存储在一个特定的类中,并使该类扩展一个
可观察的类(JDK类或您自己的类,如果您想要更具体的语义)。
如果创建自己的类,则可以有两个类:
NewHighestCharacterObservable
和NewHighestCharacterObservable
NewHighestCharacterObservable
类提供了至少两种实现模式的方法:
- 一种向其添加
NewHighestCharacterObserver
的方法。
例如addObserver(NewHighestCharacterObserver)
- 通知
NewHighestCharacterObserver
s更改的方法。
例如notifyobserver(Character newCharacterWithHigherStat)
它是notifyObserver()
而不是notifyObserver()
,以便在以后多个观察者需要观察此可观察对象时易于更改
然后,需要注意的是,通过实现NewHighestCharacterObserver
界面使GUI成为可观察的,该界面提供了要更新的方法:
- ONNEWHIGHEST字符(字符c)
这是由notifyobservators()
调用的方法,谢谢!我会努力实现这一点!