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