摘要:
但假如被合并的代码所在的类具有某种并列关系,甚至是同一个父类下的多个子类,或者同一接口的多个实现类,则我们可以采用继承的方式解决代码复用的问题。
具体做法是这样的,第一步还是整理原有的代码,通过比较,将需要重构的多份原代码中相同的与不同的代码整理出来。在整理过程中,可以将不同的代码,保留在各自的原程序中,而将相同的代码抽取出来成为独立的函数。这些函数就是我们后面需要抽象、合并、复用的代码。
下一步呢,就是运用“抽取父类(Extract Superclass)”的重构手法,从多个要复用的类中抽取出一个共同的父类。父类中包含的方法应当是经过比较后相同的部分,而将不同的部分保留在原有的类中。 阅读全文