December 2017
Beginner to intermediate
470 pages
12h 29m
English
Polymorphism is perhaps the most powerful feature of object-oriented programming languages, next to their support for abstraction, and it is what distinguishes object-oriented programming from more traditional programming with abstract data types. Polymorphism literally means many forms, and that's exactly what it is used for in object-oriented programming. The same name will denote different meanings, depending on the context in which it is used, just as with our natural languages. This allows for much cleaner and understandable abstractions, as well as code.
Loosely speaking, polymorphism can be implemented in two different ways: from inside or from outside objects. When it's implemented from inside objects, each object must ...