提炼超类(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、将所有共同元素都上移到超类后,检查子类的所有用户。如果它们只使用共同接口,你就可以把它们请求的对象改为超类