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
- object model
- encapsulation and inheritance
- idioms -- realizing concrete types
- benefits and pitfalls
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.