This text describes the design goals and language features of object-oriented languages without viewing them from the perspective of any particular language. The author discusses Smalltalk-80 and C++ so students can understand how these concepts are realized. It provides coverage of the object model from a software design and language feature perspective, as well as covering key object-oriented principles - date abstraction, inheritance, polymorphism, and dynamic binding. Detailed coverage of Smalltalk and C++ emphasize their similarities and differences in terms of design goals, language features, and usage. Also discussed are: the benefits of the object model; the latest extensions to C++; and the application of object-oriented concepts to the development of large software projects. Chapter summaries, extensive exercises, and a glossary of object-oriented terminology support the text.
Object-Oriented Programming with C++ and Smalltalk