Swift provides full support for developing applications in an object-oriented way. Prior to Swift 2, I considered Swift to be primarily an object-oriented language in the same way that I considered Java and C# to be object-oriented languages. In this section, we will be designing the vehicle types in an object-oriented way and looking at the advantages and the disadvantages of this design.
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 the similarly related classes. Since Swift is a single inheritance language, a class ...