Недавно доводилось працювати з людьми які на дух не переносять наслідування. Всюди де можна і не можна використовували композицію.

Щоб зберегти тверезість розуму вирішив спробувати перелічити коли і що треба використовувати.

Наслідування

1) коли є is-a залежність

2) коли is-a є постійною в часі, тобто стан об'єкту моделюється не класами, а властивостями класу

Композиція

1) коли можливо has-a pалежність

2) коли потрібно перевикористати код

3) коли необхідно поліморфізм, але немає is-a зв'язку — краще використати інтерфейси

4) коли супер клас є...

© 2009 - 2020, Розробка - соціальна ІТ спільнота.
Контакти: info@rozrobka.com
Правила користування