Escolar Documentos
Profissional Documentos
Cultura Documentos
Outline
E.1 Introduction
E.2 Class ElevatorSimulation
E.3 Classes Location and Floor
E.4 Class Door and ElevatorDoor
E.5 Class Button
E.6 Class ElevatorShaft
E.7 Classes Light and Bell
E.8 Class Elevator
E.9 Class Person
E.10 Artifacts Revisited
E.11 Conclusion
• ElevatorSimulation
– “Ties together” the objects that comprise the elevator
simulation model
– Sends events from MVC model to view
– Instantiates Person object (as per user request)
– Allows Floor to obtain reference to ElevatorShaft
ElevatorSimulation Elevator
ElevatorMove-
LightListener ButtonListener DoorListener BellListener Listener
ElevatorShaft
ElevatorMoveListener
ElevatorSimulationListener
ElevatorSimulation
• Location
– Represents location in the simulation
• Person has reference to Location
– We can know each Person’s whereabouts
– Abstract superclass
– Subclasses: Floor and Elevator
• Floor represents first or second floor in model
• (Elevator is discussed later)
• Door
– Signals Person when to enter and exit Elevator
– Subclass ElevatorDoor
• Button
– Signals Elevator to move between Floors
• ElevatorShaft
– Represents elevator shaft in which Elevator travels
– Receives events from Elevator
– “Bubbles up” events to ElevatorModel
• Elevator
– Travels in ElevatorShaft between Floors
– Carries Person
– “Is a” Location
• Person
– Walks across Floor to Elevator
– Rides Elevator
– “Has a” Location
– Operates asynchronously with other objects
• Extends class Thread
<<file>> <<file>>
Door.java Elevator.java
<<file>> <<file>>
ElevatorSimulation.java ElevatorShaft.java
<<file>> <<file>>
Floor.java Light.java
<<file>> <<file>>
Location.java Person.java
<<file>>
ElevatorDoor.java
event
<<imports>>