1700469519
public interface Observer{
1700469520
1700469521
//更新方法
1700469522
1700469523
public void update();
1700469524
1700469525
}
1700469526
1700469527
观察者一般是一个接口,每一个实现该接口的实现类都是具体观察者,如代码清单22-18所示。
1700469528
1700469529
代码清单22-18 具体观察者
1700469530
1700469531
public class ConcreteObserver implements Observer{
1700469532
1700469533
//实现更新方法
1700469534
1700469535
public void update(){
1700469536
1700469537
System.out.println(“接收到信息,并进行处理!”);
1700469538
1700469539
}
1700469540
1700469541
}
1700469542
1700469543
那其他模块是怎么来调用的呢?我们编写一个Client类来描述,如代码清单22-19所示。
1700469544
1700469545
代码清单22-19 场景类
1700469546
1700469547
public class Client{
1700469548
1700469549
public static void main(String[]args){
1700469550
1700469551
//创建一个被观察者
1700469552
1700469553
ConcreteSubject subject=new ConcreteSubject();
1700469554
1700469555
//定义一个观察者
1700469556
1700469557
Observer obs=new ConcreteObserver();
1700469558
1700469559
//观察者观察被观察者
1700469560
1700469561
subject.addObserver(obs);
1700469562
1700469563
//观察者开始活动了
1700469564
1700469565
subject.doSomething();
1700469566
1700469567
}
1700469568
[
上一页 ]
[ :1.700469519e+09 ]
[
下一页 ]