天天看点

重构——63提炼超类(Extract Superclass)

提炼超类(Extract Superclass)

两个类有相似特性;为这两个类建立一个超类,将相同的特性搬移到超类

一、动机

减少重复代码

二、做法

1、为原本的类新建一个空白的抽象超类

2、运用Pull Up Field,Pull Up Mehtod,Pull Up Constructor Body逐一将子类的共同元素上移到超类

3、每次上移后,编译并测试

4、检查留在子类中的函数,Extract Method,Pull Up Method,也许可以Form Template Method

5、将所有共同元素都上移到超类后,检查子类的所有用户。如果它们只使用共同接口,你就可以把它们请求的对象改为超类