I used both an abstract class and an interface for the individual vehicle type classes (i.e. Car and Boat). The reason for this is I wanted to implement automatic random number generation for some of the properties in the classes that did not require specific inputs (i.e. Weight, Height and the like). The implementation of the Interface seems faily straightforward, however.
If you are curious about reasoning behind other decisions or wondering why something is missing, please speak with me. There may be a reason.
To run this application,
- Export as a .exe and execute, or
- dotnet run in the project folder, or
- run a Debug in Visual Stuio or Visual Studio Code (or other application of your choice)