區別對待觀察者場景
import?java.util.Observable; import?java.util.Observer; public?class?ConcreateObserver?implements?Observer{ private?String?observerName; @Override public?void?update(Observable?o,?Object?arg)?{ String?weather?=?(String)arg; if(observerName.equals("女朋友")){ if(weather.equals("下雨")){ System.out.println("女朋友呆在家里"); } } if(observerName.equals("媽媽")){ if(weather.equals("下雨")?||?weather.equals("下雪")){ System.out.println("媽媽呆在家里"); } } } public?void?setObserverName(String?observerName)?{ this.observerName?=?observerName; } }
這樣不是也可以達到分情況嗎,為什么還要重新定義Observer接口?