Java重构-用多态性替换条件

Java重构-用多态性替换条件,java,refactoring,polymorphism,Java,Refactoring,Polymorphism,我做了一些关于重构我大学代码的研究。我在Eclipse中使用了JDeodorant插件,它把我扔掉了,就像这样: if (object instanceof Class1) { do_something1(); } else if (object instanceof Class2) { do_something2(); } else if (object instanceof Class3) { do_something3(); } 应该被多态性所取代。 一切都会好的

我做了一些关于重构我大学代码的研究。我在Eclipse中使用了JDeodorant插件,它把我扔掉了,就像这样:

if (object instanceof Class1) {
    do_something1();
} else if (object instanceof Class2) {
    do_something2();
} else if (object instanceof Class3) {
    do_something3();
}
应该被多态性所取代。 一切都会好的,除了所有的方法都会引用与对象无关的操作。所以对我来说多态性是行不通的

有没有其他方法可以避免使用instanceof,这似乎不专业


非常感谢。

这似乎是这个的复制品:什么是类别1、类别2和类别3。它们是否都扩展了一个公共类或实现了一个公共接口?是的,它们扩展了相同的基类,然后将方法放入子类中。操作与子类无关,因此这不是最好的解决方案。