Я пытаюсь отправить объекты в отдельный метод в соответствии с их подклассом.
Например, рассмотрим эти 2 объекта
class A extends I {}
class B extends I {}
и метод
void dispatch(I i) {}
в dispatch()
, я бы хотел вызвать метод в соответствии с типом i
. Следовательно, если i
на самом деле имеет тип A, будет вызван метод handlerA(A a)
. Если это тип B, будет вызываться handlerB(B b)
и так далее ... Я пытался с перегрузкой метода, но я думаю, что это не работает
каков наилучший способ достичь этого? Я хотел бы избежать использования оператора if / else ...
Заранее спасибо,
edit: я не могу изменить ни один из этих классов.