An Introduction to Object-Oriented Programming

By Timothy Budd

Study Guide for Chapter 1


Learning Objectives

After reading this chapter, you should be able to:

Study Questions

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.
  1. What are some of the reasons why object-oriented programming has, in the past decade, become so exceedingly popular?
  2. What do we mean by the term ``software crises''?
  3. Will simply programming in an object oriented language, such as C++, force one to write object-oriented programs? explain.
  4. 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?
  5. Explain what we mean by the assertion that the message passing metaphor naturally suggests information hiding.
  6. Provide informal descriptions of the following terms:
    1. object
    2. message
    3. receiver
    4. method
    5. information hiding
    6. instance
    7. class
    8. inheritance
    9. parent class (or superclass)
    10. child class (or subclass)
    11. abstract parent class
  7. Explain how object-oriented message passing is different from a conventional procedure call.
  8. Explain how the object-oriented description of computation differs from the conventional view of a processor reading instructions and accessing memory locations.
  9. Why is it not possible to construct a pure object-oriented language in which ALL action is performed by sending messages?
  10. Discuss how abstraction and information hiding is being used in each of the following programming language constructs:
    1. procedures
    2. modules
    3. abstract data types
    4. objects
  11. Rewrite Parnas's information hiding principles as they would apply to classes, instead of modules.

Contents copyright Timothy Budd, 1995.