 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| |
Three
relationships are common between classes:
|
|
|
|
|
Use
or awareness
|
|
|
|
|
Creating/using
objects of another class, passing objects of another
|
|
class
as arguments
|
|
|
|
|
Minimize
the number of these relationships
|
|
|
|
|
One
class should be as unaware as possible of the existence of
|
|
|
another
class! Eases future modification!
|
|
|
|
|
Aggregation
or containment
|
|
|
|
|
has
a relationship, a special case of usage
|
|
|
|
|
One
object contains another object (a rectangle has 4 points)
|
|
|
|
|
Inheritance
or specialization
|
|
|
|
|
is
a relationship ( a rectangle is a polygon)
|
|
|
|
|
Can
lead to very powerful designs
|
|