Design patterns·Objects, messages and the principles
you said it out loud — a Stack is a List — and it sounded fine right up until someone called insert in the middle of it.
Is-a vs has-a
Also calledis a versus has a, inheritance vs composition test
The rough test for whether a relationship should be inheritance or a field: inheritance claims the subtype is usable everywhere the supertype is, while composition only claims it uses one. It is rough because the English sentence is easy to talk yourself into; the real test is whether every operation the parent promises still makes sense. Most classic inheritance mistakes pass the sentence and fail the operation.