zoukankan      html  css  js  c++  java
  • 设计模式之观察者模式

    package com.test.lisener;

    import java.util.ArrayList;
    import java.util.List;

    //An interface to be implemented by everyone interested in "Hello" events
    interface HelloListener {
    void someoneSaidHello();
    }

    //Someone who says "Hello"
    class Initiater {
    private List<HelloListener> listeners = new ArrayList<HelloListener>();

    public void addListener(HelloListener toAdd) {
    listeners.add(toAdd);
    }

    public void sayHello() {
    System.out.println("Hello!!");

    // Notify everybody that may be interested.
    for (HelloListener hl : listeners)
    hl.someoneSaidHello();
    }
    }

    //Someone interested in "Hello" events
    class Responder implements HelloListener {
    @Override
    public void someoneSaidHello() {
    System.out.println("Hello there...");
    }
    }

    class Responder2 implements HelloListener{

    @Override
    public void someoneSaidHello() {
    System.out.println("hellll............");
    }

    }

    class TestLisener {
    public static void main(String[] args) {
    Initiater initiater = new Initiater();
    Responder responder = new Responder();
    Responder2 responder2 = new Responder2();

    initiater.addListener(responder);
    initiater.addListener(responder2);

    initiater.sayHello(); // Prints "Hello!!!" and "Hello there..."
    }
    }

    输出

    Hello!!
    Hello there...
    hellll............

  • 相关阅读:
    慕课网-安卓攻城狮视频学习及练习(二)
    慕课网-安卓攻城狮视频学习及练习(一)
    1126 Eulerian Path
    1127 ZigZagging on a Tree
    1128 N Queens Puzzle
    1129 Recommendation System
    1130 Infix Expression
    1131 Subway Map
    1132 Cut Integer
    1133 Splitting A Linked List
  • 原文地址:https://www.cnblogs.com/daxiong225/p/8820982.html
Copyright © 2011-2022 走看看