Taking advantage of operator overloading
Swift allows us to redefine specific operators to work in a different way, based on the classes to which we apply them. For example, we can make comparison operators, such as less than (<
) and greater than (>
), and return the results of comparing the age
value when they are applied to instances of Dog
.
Note
The redefinition of operators to work in a specific way when applied to instances of specific classes is known as operator overloading. Swift allows us to overload operators through the usage of operator functions.
An operator that works in one way when applied to an instance of a class might work differently on instances of another class. We can also redefine the overloaded operators to work on specific subclasses. For example, we can make the comparison operators work in a different way in a superclass and its subclass.
We want to be able to compare the age of the different Animal
instances using the following binary operators in Swift:
Less...