package observerobservable; import java.util.Observable; import java.util.Observer; //Primetiti da je Observer interfejs dok je Observable klasa //Zasto je pogodno da Observer bude interfejs? public class CounterObserverConsole implements Observer { public CounterObserverConsole(CounterObservable observable) { /* * 1. postavljamo da ovaj (this) posmatrac (observer) posmatra ovu * observable promenljivu * 2. jedna observable promenljiva moze imati veliki * broj posmatraca - listu posmatraca */ observable.addObserver(this); } @Override public void update(Observable arg0, Object arg1) { //Ova metoda se izvrsi kada od observable promenljive stigne signal //da se promenila (nakon poziva setChanged) CounterObservable obs = (CounterObservable) arg0; System.out.println(obs.getCounter()); } }