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.
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 how the new Plant class looks similar to 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...