About this book
Object-oriented languages are probably the most important development in computing for many years. They allow us to describe and to model the phys ical as well as more abstract worlds. They allow us to provide the computa tional entities we describe with a dynamics that is encapsulated, thus leading to a more distributed notion of state, a notion which, inter alia, makes pro gramming and analysis somewhat more tractable. Unfortunately, if one wants to understand the concepts that are currently employed in object-oriented languages, one must refer to the proceedings of conferences such as OOPSLA or EGOOP. These proceedings might be hard to obtain or obscure; in any case, without a background in the area, the reader will, almost certainly encounter concepts which will send them back to the literature. The aim of this book is to provide, in one place, an interpretation of the primary concepts in object-oriented programming languages. In some cases, for example, multiple inheritance, there is no single interpretation that is accepted by all; in such cases, the different approaches are explained. An attempt has been made to be as comprehensive as possible, but certain con cepts have been omitted for the reason that they are not often encountered or they have fallen from grace. The concept of the instantiable module appears to be one example of this.
C++ programming language Container D programming language Delegation Java Self constructor functional programming object object-oriented programming overloading polymorphism programming programming language semantics