An Introduction to Object-Oriented Programming

By Timothy Budd

Study Guide for Chapter 14

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 as you read the material.
  1. In common usage, what does it mean for a concept to be polymorphic?

  2. Why are functions with polymorphic arguments easier to write in dynamically typed langauges than in statically typed languages?

  3. Why is it difficult to write a general purpose utility, such as a function to compute the number of elements in a linked list, in a strongly-typed language such as Pascal?

  4. What is a polymorphic variable?

  5. What do we mean when we say a function name is overloaded?

  6. What is the difference between overloading the coersion?

  7. What are the three different ways in which a programming language could implement the addition operation?

  8. Why is the ability to overload function names not as confusing to the programmer as it would be if all functions were required to have unique names?

  9. What is parametric overloading, how does it differ from overloading of method names from separate classes?

  10. What is overriding, and how does it differ from overloading?

  11. What is a deferred method?

  12. What is pure polymorphism?

  13. Why are polymorphic procedure often not as efficient as non-polymorphic variations? Why should this loss in efficiency not be a great concern?

Contents copyright Timothy Budd, 1995.