Mercurial > docs > DesignPatterns
diff code/observer-example.java @ 33:97b57d24fd7b
added sample code; modified summary
author | meillo@marmaro.de |
---|---|
date | Fri, 10 Aug 2007 22:15:51 +0200 |
parents | |
children | b2cefbd90180 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code/observer-example.java Fri Aug 10 22:15:51 2007 +0200 @@ -0,0 +1,31 @@ + import java.util.Observable; + import java.util.Observer; + + public class MessageBoard extends Observable { + private String message; + + public String getMessage() { + return message; + } + + public void changeMessage(String message) { + this.message = message; + setChanged(); + notifyObservers(message); + } + + public static void main(String[] args) { + MessageBoard board = new MessageBoard(); + Student bob = new Student(); + Student joe = new Student(); + board.addObserver(bob); + board.addObserver(joe); + board.changeMessage("More Homework!"); + } + } + + class Student implements Observer { + public void update(Observable o, Object arg) { + System.out.println("Message board changed: " + arg); + } + }