与上移字段相反的重构是下移字段。同样,这也是一个无需多言的简单重构。
public abstract class Task {
protected String _resolution;
}
public class BugTask extends Task{}
public class FeatureTask extends Task{}
在这个例子中,基类中的一个字符串字段只被一个子类使用,因此可以进行下移。只要没有其他子类使用基类的字段时,就应该立即执行该重构。保留的时间越长,就越有可能不去重构而保持原样。
public abstract class Task {}
public class BugTask extends Task{
protected String _resolution;
}
public class FeatureTask extends Task{}