An Introduction to Object-Oriented Programming
By Timothy Budd
Study Guide for Chapter 17
Learning Objectives
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.
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.
-
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
parameter coupling?
-
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
abstraction?
-
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?
Contents copyright
Timothy Budd, 1995.