重构类关系-Collapse Hierarchy折叠继承关系九
1.折叠继承关系
1.1.使用场景
超类和子类之间无太大区别。将它们合为一体
如果你曾经编写过继承体系,就会知道,继承体系很容易变得过分复杂。所谓重构继承体系,往往是将函数和字段在体系中上下移动。完成这些动作后,你很可能发现某个子类并未带来该有的价值,因此需要把超类与子类合并起来。
1.2.如何做
- 选择你想移除的类:是超类还是子类?
- 使用Pull up Field (320)和Pull up Method (322),或者Push Down Method (328)和Push Down Field (329),把想要移除的类的所有行为和数据搬移到另一个类。
- 每次移动后,编译并测试。
- 调整即将被移除的那个类的所有引用点,令它们改而引用合并后留下的类。这个动作将会影响变量的声明、参数的类型以及构造函数。
- 移除我们的目标;此时的它应该已经成为一个空类。
- 编译,测试。