Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RadarSimulator {
- public static void main(String[] args) {
- Vehicle v = new Ferrari();
- v = new RadarDetecting(v);
- v.setSpeed(100);
- RadarTrap r = new RadarTrap();
- r.enter(v);
- r.checkForSpeeders();
- }
- }
- ------------------------------------------------
- //import java.util.Observable;
- import java.util.Iterator;
- //import java.util.Observer;
- public class RadarTrap { //extends Observable implements Observer {
- private int SPEED_LIMIT = 65;
- private List<Vehicle> vehicles = new SinglyLinkedList<Vehicle>();
- public void enter(Vehicle v) {
- vehicles.add(v);
- }
- public int measureSpeed(Vehicle v) {
- v.illuminated(this);
- return v.getSpeed();
- }
- public void checkForSpeeders() {
- Iterator<Vehicle> it = vehicles.iterator();
- while (it.hasNext()) {
- Vehicle v = it.next();
- if (measureSpeed(v) > SPEED_LIMIT) {
- v.getTicketed();
- }
- }
- }
- /*
- public void update(Observable o, Object obj) {
- if (o instanceof Vehicle) {
- }
- }
- */
- }
- ------------------------------------------------
- //import java.util.Observable;
- public abstract class Vehicle { //extends Observable {
- RadarBehavior radarBehavior;
- int speed = 0;
- public int getSpeed() {
- return speed;
- }
- /*
- public void statusChanged() {
- System.out.println("Speed changed");
- setChanged();
- notifyObservers();
- }
- */
- public void setSpeed(int speed) {
- this.speed = speed;
- //statusChanged();
- }
- public void getTicketed() {
- System.out.println("Ticket");
- }
- public void illuminated(RadarTrap radarTrap) {
- //radarBehavior.react();
- System.out.println("Illuminated");
- }
- }
- ------------------------------------------------
- public class Ferrari extends Vehicle {
- public Ferrari() {
- radarBehavior = new DoNothing();
- }
- }
- ------------------------------------------------
- public interface RadarBehavior {
- public void react();
- }
- ------------------------------------------------
- public class DoNothing implements RadarBehavior {
- public void react() {
- System.out.println("Ignoring");
- }
- }
Add Comment
Please, Sign In to add comment