This parking lot only support basic function, park and exit. It does not support modification of the spot once created (i.e. you cannot add new spot to the existing parking lot).
Designed following classes:
The relationship between the classes are as below:
Also designed an enum to indicate the size of the vehicle and the max capacity of the spot.
ParkingLot has the following methods:
Spot has the following methods: