重构——62提炼子类(Extract Subclass)

提炼子类(Extract Subclass)

类中的某些特性只被某些实例用到;新建一个子类,将上面所说的那一部分特性移到子类中

一、动机

你发现类中的某些行为只被一部分实例用到,其他实例不需要它们

二、做法

1、为源类定义一个新的子类

2、为这个新的子类提供构造函数

3、找出调用超类构造函数的所有地点。如果它们需要的是新建的子类,令它们改而调用新的构造函数

4、逐一使用Push Down Method和Push Down Field将源类特性移到子类去

5、Replace Conditional with Polymorphism

6、每次下移后,编译并测试

提炼子类(Extract Subclass) 类中的某些特性只被某些实例用到;新建一个子类,将上面所说的那一部分特性移到子类中 一、动机 你发现类中的某些行为只被一部分实例用到,其他实例不需要它们 二、做法 1、为源类定义一个新的子类 2、为这个新的子类提供构造函数 3、找出调用超类构造函数的所有地点。如果它们需要的是新建的子类,令它们改而调用新的构造函数 4、逐一使用Push Down Method和Push Down Field将源类特性移到子类去 5、Replace Conditional with Polymorphism 6、每次下移后,编译并测试
经验分享 程序员 微信小程序 职场和发展