An Introduction to Object-Oriented Programming
By Timothy Budd
Study Guide for Chapter 1
After reading this chapter, you should be able to:
describe different aspects of object-oriented programming
explain why the interest in object-oriented programming has increased
so rapidly in the past few years
describe the basic concepts of object, class, method, message, instance,
inheritance, encapsulation, information hiding, overriding, and method binding
in an informal, language-independent fashion
You may wish to use the print or save as command
on your web browser to produce a copy of this study guide.
That way you can fill in the answers to the questions as part of
your assimilating the information you learn in this chapter.
What are some of the reasons why object-oriented programming has, in the
past decade, become so exceedingly popular?
What do we mean by the term ``software crises''?
Will simply programming in an object oriented language, such as C++, force
one to write object-oriented programs? explain.
What did the term ``paradigm'' originally mean?
What did it mean to the historian of science Thomas Kuhn?
What does it mean in the context of computer languages?
Explain what we mean by the assertion that the message passing metaphor
naturally suggests information hiding.
Provide informal descriptions of the following terms:
- information hiding
- parent class (or superclass)
- child class (or subclass)
- abstract parent class
Explain how object-oriented message passing is different from a
conventional procedure call.
Explain how the object-oriented description of computation differs
from the conventional view of a processor reading instructions
and accessing memory locations.
Why is it not possible to construct a pure object-oriented language in
which ALL action is performed by sending messages?
Discuss how abstraction and information hiding is being used
in each of the following programming language constructs:
abstract data types
Rewrite Parnas's information hiding principles as they would apply to
classes, instead of modules.
Timothy Budd, 1995.