观察者模式
package ink.yql.observer;
import javafx.collections.ObservableList;
import java.util.ArrayList;
/**
* @author YQL
*/
public abstract class Observed {
ArrayList<Observer> observers;
public void releaseNews(String str){
System.out.println("被观察者发出一条信息"+str);
for (Observer observer : observers) {
observer.observedInformation(str);
}
}
public Observed(){
observers = new ArrayList<>();
}
}
package ink.yql.observer;
public abstract class Observer {
void observedInformation(String str){
System.out.println("这里是观察者,观察到被观察者发的信息 : " +str);
}
public Observer(Observed obs) {
obs.observers.add(this);
}
}
package ink.yql.observer;
public class CXK extends Observed{
public CXK(){
super();
}
}
package ink.yql.observer;
public class CXKFans extends Observer{
public CXKFans(Observed obs) {
super(obs);
}
}
package ink.yql.observer;
public class Text01 {
public static void main(String[] args) {
CXK cxk = new CXK();
CXKFans f1 = new CXKFans(cxk);
CXKFans f2 = new CXKFans(cxk);
CXKFans f3 = new CXKFans(cxk);
CXKFans f4 = new CXKFans(cxk);
CXKFans f5 = new CXKFans(cxk);
cxk.releaseNews("我是一个长达两年半练习生,我会打篮球..................");
}
}
好了,观察作者模式就到这里,有用的话就点个赞吧,谢谢!!!