天天看點

31 天重構學習筆記21. 合并繼承

<b>概念:</b>本文中的”合并繼承”是指如果子類的屬性和方法也适合于基類,那麼就可以移除子類,進而減少依賴關系。

<b>正文:</b>上一篇我們講到“提取子類”重構是指當基類中的一個責任不被所有的子類所需要時,将這些責任提取到合适的子類中。而我們今天所 要講的的“合并繼承”重構一般用在當我們覺得不需要子類的時候。

如下代碼所示,StudentWebSite子類除了有一個屬性用來說明網站是否是活動的外沒有别的責任,在這種情形下我們意識到IsActive 屬性可以應用到所有的網站,是以我們可以将IsActive屬性上移到基類中,并去掉StudentWebSite類。

<b>總結:</b> 這篇和上篇其實最主要論述了子類和父類的繼承關系以及如何判斷什麼時候需要使用繼承,一般我們都能處理好這些關系,是以相對比較簡單。

本文轉自KnightsWarrior51CTO部落格,原文連結:http://blog.51cto.com/knightswarrior/342476 ,如需轉載請自行聯系原作者

繼續閱讀