Composition construit le comportement en tenant d'autres objets (une relation « has-a ») et en déléguant à ces derniers. Héritage acquiert le comportement en étendant une classe (« is-a »). Le conseil « privilégier la composition » existe parce que l'héritage crée un couplage étroit et fragile à une classe de base, tandis que la composition reste flexible.
Le problème avec l'héritage pour la réutilisation
<T> <T> {
{ add(x); }
T { remove(size() - ); }
}
