Замена делегирования наследованием (Replace Inheritance with Delegation)
Полезность страницы:
0/100
Подкласс использует только часть интерфейса суперкласса или не хочет наследовать данные.
Создать поле для указателя на суперкласс, переделать методы под обращение по этой ссылке и упразднить наследование.
В принципе можно описать подкласс, который будет использовать только часть возможностей суперкласса, но такие подклассы только все путают. Поэтому лучше пользоваться делегированием, при котором можно четко описать, какая часть возможностей будет использоваться. Плата за четкость – куча делегирующих методов, которые надо писать отдельно.
Комментарии