我有ClassB
继承自ClassA
。 ClassA
有一个嵌套ClassC
,其中包含methodA()
。在这个methodA()
我需要做的事情取决于条件,如果外部类ClassA或ClassB。构造if/else
语句的最佳方法是什么?谢谢。
答案 0 :(得分:1)
这不是OOP的工作原理 - 如果有人将ClassB
扩展到ClassD
并且您想进一步改变行为会怎样?
无论如何,instanceof
关键字可以帮助您重构代码。
请记住,继承/接口的目的之一是防止if / else语句的大链 - 将它们隐藏到方法中无助于使代码更顺畅。
答案 1 :(得分:0)
我最好在ClassA中添加一些虚拟方法B并在Class中覆盖它,并在类的methodS中调用它。