Использовать композицию над наследованием
- очень популярная фраза. Я прочитал несколько статей, и в конце каждой статьи говорится
использовать наследование при наличии чистой связи IS-A между классами.
Пример из этой статьи:
Здесь между Apple и Fruit существует четкое отношение IS-A, т.е. Apple IS-A Fruit, но автор также показал это как Apple HAS-A Fruit ( композиция), чтобы показать ловушку при реализации с наследованием.
Я несколько смутился здесь, что в чем смысл утверждения
использовать наследование при наличии чистой связи IS-A между классами.
Использует ли использование композиции над наследованием означает, что всегда попробовать применять композицию , даже если существует чистая связь IS-A и оставить наследование только для тех случаев, когда композиция не имеет смысла?