В этом question сказано, что я могу использовать шаблон посетителя вместо связки instanceof
s. Jmg сказал: "Если вы не можете изменять A, B и C, вы можете применить шаблон посетителя для достижения того же".
Насколько я понимаю, мне все равно нужно создать посетителя поддержки A, B и C (например, метод accept()
).
Моя проблема в том, что у меня нет абсолютно никакой возможности изменить A, B и C. Я просто получаю объект Car из зарубежной библиотеки и должен называть метод wash()
, специфичный для грузовиков, гоночных автомобилей и автобусов.
Мне кажется, мне все равно нужна конструкция if-else-if
с instanceof
s. Я прав?