我们来看看一个和上移方法十分类似的重构。我们处理的不是方法,而是字段。
public abstract class Account{}
public class CheckingAccount extends Account{
private Double _minimumCheckingBalance = 5D;
}
public class SavingsAccount extends Account{
private Double _minimumCheckingBalance = 5D;
}
在这个例子中,两个子类中包含重复的常量。为了提高复用性我们将字段上移到基类中,并简化其名称。
public abstract class Account{
private Double _minimumCheckingBalance = 5D;
}
public class CheckingAccount extends Account{}
public class SavingsAccount extends Account{}