首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

observer 的备忘(2)-JDK

2012-06-28 
observer 的备忘(二)--JDK被观察者继承 Observerable 类在方法中this.setChanged() this.notifyObservers

observer 的备忘(二)--JDK


被观察者  继承 Observerable 类
在方法中  this.setChanged() ;this.notifyObservers()


观察者    实现 Observer接口

重写update方法来实现对观察者的回应

在被观察者出现多继承的情况时 考虑有adapter的方式实现

package com.cht.observer;import java.util.Observable;import java.util.Observer;public class MouseCatMan {   public static void main (String [] args){     Cat c = new Cat();     Observer o1 = new Mouse();     Observer o2 = new Man();     c.addObserver(o1);     Mouse m = (Mouse)o1;     m.addObserver(o2);     //非常关键的一部 调用c中的方法开始触发    c.cry();   }}class Cat extends Observable{public void cry(){System.out.println("the cat cry");this.setChanged();this.notifyObservers();}}class Mouse extends Observable implements Observer {@Overridepublic void update(Observable o, Object arg) {        System.out.println("the  cat cry ! mouse run!!");        this.setChanged();        this.notifyObservers();}}class Man implements Observer{@Overridepublic void update(Observable o, Object arg) {           System.out.println("Scared me!!");}}

热点排行