Summary:超類和子類之間無太大區別。將它們合爲一體。 函數
動機:測試
若是你曾經編寫過繼承體系,就會知道,繼承體系很容易變得過度複雜。所謂重構繼承體系,每每是將函數和字段在體系中上下移動。完成這些動做後,你極可能發現某個子類並未帶來該有的價值,所以須要把超類與子類合併起來spa
作法: 繼承
1.選擇你想移除的類:是超類仍是子類?編譯
2.使用Pull up Field 和Pull up Method,或者Push Down Method和Push Down Field,把想要移除的類的全部行爲和數據搬移到另外一個類變量
3.每次移動後,編譯並測試。重構
4.調整即將被移除的那個類的全部引用點,令它們改而引用合併後留下的類。這個動做將會影響變量的聲明、參數的類型以及構造函數。構造函數
5.移除咱們的目標; 此時的它應該已經成爲一個空類。引用
6.編譯,測試im