Generalization (обобщение) — отношение «is-a» между более общим и специальным классификатором. Наследует характеристики; используют осторожно, чтобы не строить глубокие хрупкие иерархии.
Разбор
- Подкласс должен соблюдать подстановку по смыслу домена.
- Предпочитают композицию, если это «has-a».
- В аналитической модели фиксируют только устойчивые различия.
- Избыточный inheritance — запах модели.
Итог
Generalization — осмысленное «является», а не способ переиспользовать поля.