?? playlist.java
字號:
package designpatterns.observer.java;import java.util.*;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Playlist implements Playable, Subject { private String name; private List songs = new ArrayList(); public Playlist(String name) { super(); this.name = name; } public void setSongs(List songs) { this.songs = songs; } public void play() { System.out.println("playing playlist " + getName()); for (Iterator iter = songs.iterator(); iter.hasNext();) { Song song = (Song) iter.next(); song.play(); } notifyObservers(); } public String getName() { return name; } private Set observers = new HashSet(); public void addObserver(Observer o) { observers.add(o); } public void removeObserver(Observer o) { observers.remove(o); } public void notifyObservers() { for (Iterator iter = observers.iterator(); iter.hasNext();) { Observer o = (Observer) iter.next(); o.update(this); } }}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -