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 + -
显示快捷键?