Так что, когда состояние объекта меняется, все объекты, которые зависят от него, уведомляются и изменяются соответственно.
Существует много способов реализовать шаблон наблюдателя: этот шаблон должен включать две роли: наблюдатель и объект наблюдаются. Существует логическая связь «наблюдения» между наблюдателем и наблюдателем. Когда наблюдатель изменится, наблюдатель будет соблюдать такие изменения и проблемы соответствующих изменений.
/*** Интерфейс наблюдателя: наблюдатель, класс, который должен использовать режим наблюдений, должен реализовать этот интерфейс*/public interface stemver {public void update (Object obj);} /*** Наблюдатель (обычно абстрактный класс, удобный для расширения): метод объявления, произошло некоторые изменения, уведомить наблюдателя об изменении. */public interface bebserved {public void AddoBserver (stemver obs); // Добавить объект Observer public void remoadObserver (Observer obs); // Объект объекта Public void notifyObservers (String изменила); // Уведомление объекта obServer изменить соответствующее} /*** Целевой наблюдатель: реализуйте интерфейс наблюдателя и выполните соответствующие операции на объекте наблюдателя*/public Class Concretewatched Recaintions BebServed {// Collection Collection объектов Observer <Beaserver> list = new ArrayList <Beaserver> (); @Override public void AddObserver (Observer Obs) // Добавить наблюдатель {if (! List.contains (obs)) {list.add (obs); }} @Override public void removeObserver (stemver obs) // Наблюдатель говорит наблюдателю отменить наблюдение и удалить наблюдатель из контейнера {if (list.contains (obs)) {list.remove (uss); }} @Override public void notifyObservers (string изменение) {// пересекайте объект и методы вызова }}} /*** Наблюдаемое целевым образом (конкретное намеченное)*/public class specialwatcher реализует Observer {@Override public void update (Object obj) {System.out.println (obj.toString ()); // Вступают изменения}}/*** Concretewatched (); Наблюдатель obs1 = new SpecialWatcher (); Наблюдатель obs2 = new SpecialWatcher (); Наблюдатель obs3 = new SpecialWatcher (); bobs.addobserver (obs1); // Добавить объект Observer bobs.addobserver (obs2); Bobs.addobserver (OBS3); bobs.notifyobservers ("*** уведомлен ***"); System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Наконец -то распечатайте результат:
Выше приведено все об этой статье, я надеюсь, что для всех будет полезно изучать программирование Java.