ABSTRACT

This chapter introduces a programming and software development paradigm known as object orientation. It describes the history and evolution of object-oriented approach, discusses its fundamental features, and provides guidelines on when it is suitable. Three concepts are associated with object-oriented systems: data abstraction, inheritance, and dynamic binding. Several object-oriented languages have since been developed. Perhaps the most notable ones are Eiffel, CLOS, ADA 95, and C++. In the context of object orientation an object is a conceptual entity related to the problem domain. It is an abstraction, not a thing in the real world. In C++ the program structures used for implementing abstract data types are classes and objects. Object-oriented systems make the actual access procedure invisible by means of a mechanism called message passing. One of the advantages of message passing is that it eliminates hard-coded program structures such as jump tables, cascaded if statements or case constructs.