上拉法
问题
子类具有执行类似工作的方法。
解决方案
使方法相同,然后将它们移动到相关的超类中。
之前

后

为什么重构
子类彼此独立地成长和发展,导致相同(或几乎相同)的字段和方法。
好处
消除重复代码。如果需要对一个方法进行更改,最好在一个地方进行更改,而不是必须在子类中搜索该方法的所有重复项。
如果由于某种原因,子类重新定义了超类方法,但执行的工作本质上是相同的,也可以使用这种重构技术。