オーバーロードされたインターフェイス メソッドを実現しようとしています。これが Java では機能しないことはわかっていますが、action()
メソッドに型ではなく実装型を含めるには、次のように書き直すにはどうすればよいBase
でしょうか?
class Base;
class Foo extends Base;
class Bar extends Base;
interface IService {
void action(Base base);
}
class FooService implements IService {
void action(Foo foo) {
//executes specific foo action
}
}
class BarService implements IService {
void action(Bar bar) {
//executes specific Bar action
}
}
利用方法:
Base base; //may be foo or bar
anyService.action(bar);
あなたはアイデアを得る。どうすればこれを行うことができますか?