互為逆重構。
子類中有重複**就可以考慮上移到父類,而父類中的函式如果只與個別子類有關就可以下移。
互為逆操作。
子類有類似字段可以考慮上移到父類,父類的字段只在被個別子類用到可以考慮下移。
其實和函式上移差不多,只是建構函式比較特殊專門拿出來說。
互為逆重構。
在用型別碼來區分時不妨引入子類,兩種引入方式:一種是直接把包含型別碼的類變為超類,另一種是把型別碼本身處理成繼承關係。
在子類的工作看起來並沒什麼用時可以考慮移除,把相關字段搬回父類。
兩個類做了相似的事情就可以考慮提煉出超類。
和超類區別不大的時候可以考慮乾掉子類了。
引入委託(介面),前者是把原來子類作為乙個委託的例項引入,後者是原來超類作為乙個委託的例項引入。動機是繼承的耦合性太強,可以用組合的方式取代繼承。
-fin-
c primer第十二章讀書筆記
本章主要講解new運算子在各種情況下的使用注意事項。c 使用new和delete運算子來動態控制記憶體。一 關於靜態成員 1 靜態成員屬於類,不屬於物件,即在多個物件中只有乙個靜態成員物件副本。2 靜態資料成員在類中宣告,在包含類方法的檔案中初始化。但如果靜態成員是const整型型別或者列舉型別,則...
APUE讀書筆記 第十二章 執行緒控制
初始化 銷毀屬性物件,每個屬性都有 從屬性物件中獲取屬性值 設定屬性值兩個個函式 實現執行緒分離的兩種方法 1 使用pthread detach函式 2 修改pthread attr t結構中的detachstate屬性 使用pthread attr setdetachstate函式 讓執行緒一開始...
C Primer Plus 第十二章筆記
1.呼叫複製建構函式 當函式按值傳遞物件或函式返回物件時,都將使用複製建構函式。2.如果類中包含了使用new初始化的指標成員,應當定義乙個複製建構函式,以複製指向的資料,而不是指標,稱為深度賦值。複製的另一種形式只是複製指標值,僅淺淺地複製指標資訊,稱為淺複製。3.將已有的物件賦給另乙個物件時,將使...