playlist.java

来自「designpatterns for aop」· Java 代码 · 共 54 行

JAVA
54
字号
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);		}	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?