All object oriented languages have the concepts of classes, instances, message passing, methods, and inheritance. These ideas were informally introduced back in Chapter 3.
However, a problem we can see in comparing object oriented langauges, indeed a problem we see commonly in many areas of computer science, is that there are a variety of different terms that are used to represent similar concepts. Occasionally we see the reverse, that is, two or more concepts will be described by the same term.
Thus, the concept we have called a class is known, in Object Pascal as an object type, and in Objective-C as a factory object.
The idea of an instance is in many languages simply called an object.
What we here will refer to message passing is, in Java sometimes called method lookup, in C++ referred to as member function invocation, and in other languages called method binding.
Methods are called member functions in C++, in some other languages method functions.
The terms inheritance and subclassing are used synonimously in almost all object-oriented languages.
In this text we will try to use a consistent and simple vocabulary. The textbook does contain a glossary, and this can be consulted to find the meaning associated with unfamiliar terms.