An Introduction to Object-Oriented Programming
By Timothy Budd
Study Guide for Chapter 17
After reading this chapter, you should be able to:
Understand the meaning of the terms coupling and cohesion.
Explain how increasing coupling reduces the possibilities of software
reusability. Understand ways that coupling can be reduced.
Explain the concept of cohesion, and how cohesion in software components
can be increased.
Describe how subclassing introduces a third form of interaction, different
both from the programmer-software component relationship and the
user-software component relationship.
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.
What does the term visibility mean? How is visibility associated with
the connections between software components?
List the forms of coupling, ordered from strongest coupling to weakest.
How can internal data coupling or global variable coupling be reduced to
List the forms of cohension, ordered from weakest to strongest.
What form of access is prohibited by the Law of Demeter?
What form of access is permitted?
What is the distinction between class level and object level visibility rules?
What is an active value? How does inheritance simplify the creation of
an active value?
In what way is the devloper of a subclass different from other users of a class
How does the division of visibility into private, protected and public
features simplify the task of program modification?
How does a private inheritance alter the visability of inherited attributes?
Timothy Budd, 1995.