Pokial to nie je vtip, tak tu je seriozna odpoved:
Google query: composition vs inheritance
http://tinyurl.com/5v26d
V zasade sa jedno o to, ci nova trieda vychadza z povodnej (dedicnost/inheritance), alebo trieda obsahuje inu triedu ci triedy (skladba/composition).
Existuje mnoho pripadov, kde je pomerne jednoduche rozhodnut, ktoru z uvedenych metod pouzit (na internete najdete mnoho ucebnicovych prikladov). Nejde to vsak vo vseobecnosti, tj. existuju modelove situacie, pri ktorych arguementy hovoria aj za dedicnost, aj za skladbu. Moj osbny nazor je, ze spravne rozhodnutie predurcuju najma prakticke skusenosti z oblasti vyvoja softveru.