超类和子类之间无太大区别。
将它们合为一体。
动机:
继承体系很容易变的过分复杂。所谓重构继承体系,往往是将函数和字段在体系中上下移动。完成这些动作后,很可能发现某个子类并未带来该有的价值,因此需要把超类与子类合并起来。
做法:
选择想移除的类,是超类还是子类。
使用push up field和push up method,或者push down method,push down field,移动数据和行为。
调整引用点。
超类和子类之间无太大区别。
将它们合为一体。
动机:
继承体系很容易变的过分复杂。所谓重构继承体系,往往是将函数和字段在体系中上下移动。完成这些动作后,很可能发现某个子类并未带来该有的价值,因此需要把超类与子类合并起来。
做法:
选择想移除的类,是超类还是子类。
使用push up field和push up method,或者push down method,push down field,移动数据和行为。
调整引用点。