Team LiB
Previous Section Next Section

Chapter 5: Relationships Between Objects

Overview

As we saw in Chapter 4, any two objects can have a "fleeting relationship" based on the fact that they exchange messages, in the same way that two strangers passing on the street might say "Hello!" to one another. We informally call such relationships between objects behavioral relationships, because they arise out of the behaviors, or actions, taken by one object X relative to another object Y. With behavioral relationships, object X is either temporarily handed a reference to object Y as an argument in a method call, or temporarily requests a handle on Y from another object Z. However, the emphasis is on temporary: when X is finished communicating with Y, object X often discards the reference to Y.

In the same way that you have significant and more lasting relationships with some people (family members, friends, colleagues, and so forth), there is also the notion of a more permanent relationship between objects. We informally refer to such relationships as structural relationships because, in order to keep track of such relationships, an object actually maintains lasting handles on its related objects in the form of attributes, a technique that we discussed in Chapter 3. Hence, the relationship becomes part of the data structure of the object in question.

In this chapter, you'll learn


Team LiB
Previous Section Next Section