观察者模式

观察者模式,第1张

观察者模式

应用场景:想知道一个对象的变化状态,就给它安插一个监控,俗称观察者

  实现观察者模式,需要两个关键类

Observable:表示需要被观察的对象
Observer:观察者,真正去监控的对象
public class ObserverDemo {

    
    static class Product extends Observable {
        private Double price ;

        public Double getPrice() {
            return price;
        }

        public void setPrice(Double price) {
            this.price = price;
            this.setChanged();
            this.notifyObservers(price);
        }
    }

    
    static class ProductObserver implements Observer{

        @Override
        public void update(Observable o, Object arg) {
            System.out.println("目标对象变化为=" + arg);
        }
    }

    public static void main(String[] args) {
        Product product = new Product() ;
        ProductObserver observer = new ProductObserver() ;
        //加入观察者
        product.addObserver(observer);

        //变化后,观察者会感知到并处理
        product.setPrice(1D);
        product.setPrice(2D);
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5711537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存