重複の可能性:
Javaメソッドのオーバーロード+ダブルディスパッチ
おそらくばかげた初心者の質問:。次のような状況では、instanceof演算子を避けたいと思います。
class Service {
method(Some param) { }
}
class Special extends Some { }
class SpecialService extends Service {
method(Some param) {
if (param instanceof Special) {
//do special things
}
}
method(Special param) {
//do special things
}
}
2番目の特別な方法はinstanceofを回避する正しい方法ですか?
サービスの発信者側に問題はありますか?私の場合、特別なサービスはカスタマイズされたバージョンであり、プラグインされ、ベースコードから呼び出されます。どのメソッドが呼び出されますか?
Service s = new SpecialService();
s.method(specialparam);
そして、これを解決する方法の簡潔な説明またはパターンを教えてください。基本的なJava/OOの知識のようです...