与正好相反,当父类的方法只为一个子类提供时,这时应该考虑把这个方法放到子类中,这就是“方法归子”。
方法归子 — 或译函数下移,指的是方法从父类移动到子类,其主要原因在于,当父类的方法只被一个子类使用时,这个方法就不需要出现在父类了,这时我们考虑代码的重构,将方法直接在子类中去实现即可.
代码如下:
1 #region 方法归子 2 ///3 /// 如果InsertBase中的InsertSub方法只在SubInsert中使用, 4 /// 那么,应该考虑将InsertSub方法移到SubInsert类中 5 /// 6 class SubInsert : InsertBase 7 { 8 } 9 abstract class InsertBase10 {11 ///12 /// 插入方法13 /// 14 public virtual void InsertSub()15 {16 throw new NotImplementedException("SubInsert插入方法");17 }18 }19 #endregion