Book Image

Mastering Swift

By : Jon Hoffman
Book Image

Mastering Swift

By: Jon Hoffman

Overview of this book

Table of Contents (22 chapters)
Mastering Swift
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Overriding methods and properties


To override a method, property, or subscript, we need to prefix the definition with the override keyword. This tells the compiler that we intend to override something in the super class and that we did not make a duplicate definition by mistake. The override keyword does prompt the Swift compiler to verify that the super class (or one of its parents) has a matching declaration that can be overridden. If it cannot find a matching declaration in one of the super classes, an error will be thrown.

Overriding methods

Let's look at how we would override a method. We will start by adding a getDetails() method to the Plant class that we will then override in the child classes. The following code shows what the new Plant class looks like with the getDetails() method added:

class Plant {
  var height = 0.0
  var age = 0
 
  func growHeight(inches: Double) {
    self.height +=  inches;
  }
  
  func getDetails() -> String {
    return "Plant Details"
  }
}

Now let's...