Working with typecasting and polymorphism
We can use the same method to cause different things to happen according to the class on which we invoke the method. In object-oriented programming, this feature is known as polymorphism.
For example, consider that we defined a talk
method in the Animal
class. The different subclasses of Animal
must override this method to provide their own implementation of talk
.
The Dog
class overrode this method to print the representation of a dog barking, that is, a Woof
message. On the other hand, a Cat
class will override this method to print the representation of a cat meowing, that is, a Meow
message.
Now, let's think about a CartoonDog
class that represents a dog that can really talk as part of a cartoon. The
Get Swift 3 ObjectOriented Programming - Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.