December 2017
Beginner to intermediate
470 pages
12h 29m
English
There are many ways to implement the object model in object-oriented languages, and the specific ways it is implemented imply different sets of properties for the language. Some of these properties are encapsulation, polymorphism, generics (parametric polymorphism), hierarchies (inheritance and composition), subtyping, and several others. They are powerful, high-level ideas with precise definitions that impose restrictions on how a language should behave. Don't worry too much about them for now; we will explain the necessary ones as we move forward.
An interesting exercise is to find languages that are considered to be object-oriented, yet don't use one or more of these properties. For example, ...