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