原則:找相同代碼,責任職能劃分,減少相同代碼
1)字段上移/下移
要點:部分與整體關(guān)系
2) 函數(shù)上移
要點:有些函數(shù),在各個子類中產(chǎn)生完全相同效果
3)構(gòu)造函數(shù)本體上移
要點:在超類新建一個構(gòu)造函數(shù),并在子類構(gòu)造函數(shù)中調(diào)用它
4)函數(shù)下移
要點:超類中某個函數(shù)只與部分子類有關(guān)
5)提煉子類
要點:類中某些特性只被某些(而非全部)實例用到
方案:新建一個子類,將上面所說的那一部分特性轉(zhuǎn)移到子類中
6)提煉超類
要點:兩個類有類似特性
方案:為這兩個類建立一個超類,將相同特性轉(zhuǎn)移至超類
7)提煉接口
要點:將相同的子集提煉到一個獨立接口中
8)折疊繼承體系
要點:超類和子類之間無太大區(qū)別
方案:將他們合為一體
9)塑造模板函數(shù)
方案:你有一些子類,其中相應(yīng)的某些函數(shù)以相同順序執(zhí)行類似操作,但各個操作的細節(jié)上有所不同。
10)以委托取代繼承
要點:子類只使用超類接口中的一部分
11)以繼承取代委托
要點:委托函數(shù)太多
處理繼承關(guān)系
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
推薦閱讀更多精彩內(nèi)容
- 開心一笑 【一孩子數(shù)學(xué)成績不好,有次考試只考了8分,為了不挨揍他偷偷地加了一個0,回家后老媽看著我的試卷問他:“你...
- chapter 1 重構(gòu),第一個案例 1.1 什么時候需要重構(gòu) 需要為程序添加一個特性,但代碼結(jié)構(gòu)無法使自己方便的...
- 《重構(gòu)》讀書筆記 總覽 第一部分 第一章從實例程序出發(fā),展示設(shè)計的缺陷,對其重構(gòu)可以了解重構(gòu)的過程和方法。 第二部...
- 可以先看【推薦】:http://www.lxweimin.com/p/d6ff54d72afb原文:http://...