Start learning free

LESSON 184 OF 349 · OBJECT-ORIENTED PROGRAMMING

Class Fields in Swift in Swift

Lesson

TL ; DR:

  • A field is a variable that lives inside a class. Each object of that class has its own copy.


  • Declare a field with a name and a type using var so other code can read and write it:

    class Dog {
        var name: String = ""
        var age: Int = 0
    }
    

  • Access a field on an object with the dot operator: dog.name = "Rex"



Full lesson:

Right now your Dog class is just an empty shell — every Dog object you create is identical to every other one. We need a way to attach data to each object.

That's what fields are for. A field is a variable that belongs to a class — and each object created from that class gets its own copy of every field.


Declaring fields

class Dog {
    var name: String = ""
    var age: Int = 0
}
  • var declares a mutable field — any code can read and write it. You'll use let later for fields that should not change after being set.

  • name: String is just a variable declaration — same syntax you'd use anywhere else.


Reading and writing fields

var dog = Dog()
dog.name = "Rex"        // write
dog.age = 4
print(dog.name)   // read → prints "Rex"

Each object has its own slot for every field, so two dogs can have different names without interfering.


Default values

In Swift, stored properties must always have an initial value. Common defaults are:

  • Numbers default to 0

  • Bool defaults to false

  • Optional references (String?, arrays, other classes) default to nil


Your task

Update the Dog class to have two fields: name (a String) and age (an Int). Then in mainFunction, set them on the dog object so the pre-filled print prints:

Rex is 4 years old
STEP 1 OF 2
    Ctrl + Enter to check

    Class Fields in Swift

    Keep going with SwiftAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free