Download presentation
Presentation is loading. Please wait.
1
Polymorphism and Observers
Chapter 4.9 Polymorphism and Observers Karel J. Robot: A Gentle Introduction to the Art of Object-Oriented Programming in Java by Joseph Bergin et al. By E.F. Teevan
2
Observers - 4.9 An Observer is an object which is controlled by an observable object An interface is needed for the two to communicate: public interface RobotListeners { public void action(); } An observer example: public class WalkListener extends ur_Robot implements RobotListener { public WalkListener(int street, int avenue, Directions.Direction dir, int beepers) { super(street, avenue, dir, beepers); } public void action() { move(); } } Uses the RobotListener interface WalkListeners move one block when action method is called. WalkListeners are Observers
3
Observers II - 4.9 The observable object class: public class ObservablePicker extends ur_Robot { private RobotListener myListener; public ObservablePicker(int street, int avenue, Directions.Direction direction, int beepers) { super(street, avenue, direction, beepers); } public void register(RobotListener listener) { myListener = listener; } public void pickBeeper() { super.pickBeeper(); myListener.action(); } } instance variable constructor New method for ObservablePickers Instantiates the instance variable myListener New method for ObservablePicker Calls action method of RobotListener class for myListener
4
Observers III - 4.9 The main method: public class ObserverTest implements Directions { public static void main(String args[]) { WalkListener2 tom = new WalkListener2(1, 1, North, 0); ObservablePicker2 jerry = new ObservablePicker2(2, 3, East, 0); jerry.register(tom); jerry.pickBeeper(); } } CONTROLLED tom is an Observer jerry is observable CONTROLLER See fourNine in the Bowling workspace
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.