NEW: Master Swift design patterns with my latest book! >>

< Previous: Structs summary   Next: Class inheritance >

Creating your own classes

Classes are similar to structs in that they allow you to create new types with properties and methods, but they have five important differences and I’m going to walk you through each of those differences one at a time.

The first difference between classes and structs is that classes never come with a memberwise initializer. This means if you have properties in your class, you must always create your own initializer.

For example:

class Dog {
    var name: String
    var breed: String

    init(name: String, breed: String) { = name
        self.breed = breed

Creating instances of that class looks just the same as if it were a struct:

let poppy = Dog(name: "Poppy", breed: "Poodle")

Download for free!

Want a free 75-minute video teaching functional programming, protocol-oriented programming, and more? This is your lucky day!

< Previous: Structs summary   Next: Class inheritance >
Click here to visit the Hacking with Swift store >>