设计模式--观察者模式

心不动则不痛 提交于 2019-11-30 10:51:10
public class Test {
  //被观察者对象
    public static void main(String[] args) {
        TreeData treeData = new TreeData();
        treeData.setName("数据1");
        treeData.setNum(3);
        TreeObserver treeObserver = new TreeObserver();
        treeData.addObserver(treeObserver);

        treeData.setNum(6);

    }
  //观察者
    static class TreeData extends Observable{
        private int num = 0;
        private String name = "";

        public String getName( ) {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getNum( ) {
            return num;
        }

        public void setNum(int num) {
            this.num = num;
            setChanged();
            notifyObservers(this);
        }
    }

    static class TreeObserver implements Observer{
        @Override
        public void update(Observable o, Object arg) {
            TreeData treeData = (TreeData)arg;
            System.out.println(treeData.getName()+"数量发送了改变:"+treeData.getNum());
        }
    }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!