Kompozice vytváří chování držením jiných objektů (vztah "has-a") a delegováním na ně. Dědičnost získává chování rozšířením třídy ("is-a"). Rady "upřednostňovat kompozici" existuje, protože dědičnost vytváří pevné, křehké propojení se základní třídou, zatímco kompozice zůstává flexibilní.
Problém s dědičností pro opakované použití
<T> <T> {
{ add(x); }
T { remove(size() - ); }
}
