Object-oriented programming constructs

Object orientation has brought about a radical shift in our notion of computation and how we look at programming. This chapter introduces the basic mechanisms of object-oriented programming.


Object-oriented programming constructs

2

Additional keywords and phrases: {\em computing device, C++, generic types, canonical classes, pointers, references, virtual functions, extensions to the object model }
slide: Object-oriented programming constructs

First, however, we will explore the relation between the object model of computation and our traditional notion of computation, based on the Von Neumann machine model. In particular, we will be concerned with delineating the possible meanings of the claim that an object-oriented approach is instrumental in managing the complexity of software products. Then, after explaining the two major constituents of object-oriented programming, encapsulation and inheritance, we will discuss some idioms for using these mechanisms as well as the potential benefits and pitfalls of an object-oriented approach. Also, we will briefly look at some extensions to the basic object model and their relevance to the practice of object-oriented programming.