subject.java
来自「《JAVA与模式》附书中源代码」· Java 代码 · 共 43 行
JAVA
43 行
package com.javapatterns.observer.variation;
import java.util.Vector;
import java.util.Enumeration;
abstract public class Subject
{
/**
* @associates <{Observer}>
* @link aggregation
* @supplierCardinality 0..*
*/
private Vector observersVector = new java.util.Vector();
public void attach(Observer observer)
{
observersVector.addElement(observer);
System.out.println("Attached an observer.");
}
public void detach(Observer observer)
{
observersVector.removeElement(observer);
}
public void notifyObservers()
{
java.util.Enumeration enumeration = observers();
while (enumeration.hasMoreElements())
{
System.out.println("Before notifying");
((Observer)enumeration.nextElement()).update();
}
}
public Enumeration observers()
{
return ((java.util.Vector) observersVector.clone()).elements();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?