根据类实例行事

时间:2012-09-08 16:03:32

标签: java oop inheritance

我有ClassB继承自ClassAClassA有一个嵌套ClassC,其中包含methodA()。在这个methodA()我需要做的事情取决于条件,如果外部类ClassA或ClassB。构造if/else语句的最佳方法是什么?谢谢。

2 个答案:

答案 0 :(得分:1)

这不是OOP的工作原理 - 如果有人将ClassB扩展到ClassD并且您想进一步改变行为会怎样?

无论如何,instanceof关键字可以帮助您重构代码。

请记住,继承/接口的目的之一是防止if / else语句的大链 - 将它们隐藏到方法中无助于使代码更顺畅。

答案 1 :(得分:0)

我最好在ClassA中添加一些虚拟方法B并在Class中覆盖它,并在类的methodS中调用它。