Swift provides full support for developing applications in an object-oriented way. Prior to Swift 2, Swift was considered to be primarily an object-oriented language in the same way that Java and C# are considered to be object-oriented languages. In this section, we will design the vehicle types in an object-oriented way and look at the advantages and disadvantages of this design.
Swift as an object-oriented programming language
Class diagrams
Before we look at the code, let's create a very basic class diagram that shows how we would design the vehicle class hierarchy for the object-oriented design. In an object-oriented design, we use class hierarchies to group similarly related classes. Since Swift is a single inheritance...