當前位置:編程學習大全網 - 網站源碼 - java 觀察者模式,求壹個詳細解釋。

java 觀察者模式,求壹個詳細解釋。

我覺得妳別想的太復雜。

觀察者模式需要有壹個主題,還有壹個或多個觀察者。

在主題類中有壹個觀察者的集合。

當調用主題類的某些方法時,自動循環這個集合,調用觀察者的方法。

舉個例子:

public?class?CountSubject?implements?ICountSubject?{

private?List<Observer>?list;

CountSubject()?{

list?=?new?ArrayList<Observer>();

}

@Override

public?void?count(int?num)?{

for?(int?i=0;i<num;i++)?{

System.out.println(this.getClass().getName()?+?"-->"?+?i);

this.notifyObserver(i);

}

}

public?void?addObserver(Observer?obs)?{

this.list.add(obs);

}

public?boolean?removeObserver(Observer?obs)?{

return?this.list.remove(obs);

}

public?void?removeAllObservers()?{

this.list.clear();

}

public?void?notifyObserver(int?i)?{

for?(int?a=0;a<list.size();a++)?{

Observer?o?=?list.get(a);

o.update(i);

}

}

}

在客戶端調用時,先要初始化壹個或多個觀察者,然後添加到主題對象。

然後調用主題對象的方法。在主題對象的方法中會自動調用觀察者的方法。

  • 上一篇:列出源php
  • 下一篇:錯誤404源代碼
  • copyright 2024編程學習大全網