Code of Elevator System

Write object-oriented code to implement the design of the elevator system problem.

We’ve discussed different aspects of the elevator system and observed the attributes attached to the problem using various UML diagrams. Let’s explore the more practical side of things, where we will work on implementing the elevator system using multiple languages. This is usually the last step in an object-oriented design interview process.

We have chosen the following languages to write the skeleton code of the different classes present in the elevator control system:

  • Java

  • C#

  • Python

  • C++

  • JavaScript

Elevator system classes

In this section, we’ll provide the skeleton code of the classes designed in the class diagram lesson.

Note: For simplicity, we aren’t defining getter and setter functions. The reader can assume that all class attributes are private and accessed through their respective public getter methods and modified only through their public methods function.

Enumerations

First of all, we will define all the enumerationsA special data type which contains a set of predefined constants. required in the elevator system. According to the class diagram, there are three enumerations used in the system i.e., ElevatorState, Direction and DoorState. The code to implement these enumerations is as follows:

Note: JavaScript does not support enumerations, so we will be using the Object.freeze() method as an alternative that freezes an object and prevents further modifications.

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.