标题观察者模式
1.猫、狗与老鼠
假设猫是老鼠和狗的观察目标
老鼠和狗是观察者,猫叫老鼠跑,狗也跟着叫
package com.gsgs;
public class Cat extends Subject {
@Override
public void attach(Observer observer) {
observers.add(observer);
}
@Override
public void detach(Observer observer) {
observers.remove(observer);
}
@Override
public void cry() {
System.out.println("猫在叫!,(>^ω^<)喵");
System.out.println("------------------------");
for (Object obs : observers) {
((Observer) obs).response();
}
}
}
package com.gsgs;
public class Dog implements Observer {
@Override
public void response() {
System.out.println("~~~~~狗在也叫!~~~~~~~");
}
}
package com.gsgs;
public class Mouse implements Observer {
@Override
public void response() {
System.out.println("~~~~~~老鼠在跑!~~~~~");
}
}
package com.gsgs;
public interface Observer {
public