Con un certo sforzo di fantasia direi che vuole usare due classi con due metodi diversi per calcolare la distanza, una sorta di ircocervo.
Da qualche parte, suppongo sempre sforzandomi, ci sarà un qualche proprietà che distingue quale classe usare.
Sembra un mischione di "logica" C e Java (sempre con grandissimo sforzo!)