 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| |
Realize
the inheritance will complicate your design
|
|
|
|
|
Use
it only if it is required by your design
|
|
|
|
|
Use
it to express differences in behavior of classes that are derived from
|
|
a
common base class
|
|
|
|
|
The
clearest designs add new capabilities to inherited ones
|
|
|
|
|
Poor
designs remove old capabilities during inheritance without adding
|
|
|
new
ones
|
|
|
|
|
Realize
that a LIST is Not a Node
|
|
|
| |
Implementation
rules for this course:
|
|
|
|
|
No
global objects
|
|
|
|
|
Avoid
magic numbers (hardwired into the code)
|
|
|
|
|
No
string classes allowed
|
|
|
|
|
Use
comments liberally
|
|
|
|
|
Remember
your code is read much more than it is written!!
|
|