song.java

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

JAVA
54
字号
package designpatterns.observer.java;import java.util.*;public class Song implements Playable, Subject{	private String name;	public Song(String name) {		super();		this.name = name;	}		public String getName() {		return name;	}	public void play() {		System.out.println("Playing song " + getName());		notifyObservers();	}		public void showLyrics(){		System.out.println("Displaying lyrics for " + getName());		notifyObservers();	}		public boolean equals(Object o){		Song other = (Song) o;		return this.name.equals(other.name);	}		public int hashCode() {		return name.hashCode();	}		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 + -
显示快捷键?