Я нашел ответ, который заставил меня немного лучше понять состав классов.
class Engine
{
}
class Automobile
{
}
class Car extends Automobile // car "is a" automobile //inheritance here
{
Engine engine; // car "has a" engine //composition here
}
а разве это не фасадный узор? Разве фасад не об упрощении класса путем разделения на подклассы? В чем тогда разница между композицией и фасадом?
Или, может быть, я ошибаюсь. Фасад — это образец дизайна, но композиция больше похожа на хорошую практику. Можем ли мы сказать, что использование фасада создает композицию?