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