Compositie bouwt gedrag door andere objecten te bezitten (een "has-a" relatie) en aan hen toe te vertrouwen. Overerving verwerft gedrag door een klasse uit te breiden ("is-a"). Het advies "verkies compositie" bestaat omdat overerving strakke, fragiele koppeling aan een basisklasse creëert, terwijl compositie flexibel blijft.
Het probleem met overerving voor hergebruik
<T> <T> {
{ add(x); }
T { remove(size() - ); }
}
