代碼重構(gòu) 第十一章總結(jié)

2022-08-12

第十一章 處理概括關(guān)系

11.1 Pull Up Field(字段上移)

兩個子類擁有相同的字段,將字段移至超類

11.2 Pull Up Method(函數(shù)上移)

某些函數(shù)在各個子類中產(chǎn)生完全相同的結(jié)果,將該函數(shù)移至超類

11.3 Pull Up Constructor Body(構(gòu)造函數(shù)本體上移)

各個子類中擁有本體幾乎一致的構(gòu)造函數(shù),將相同部分移至超類,在子類構(gòu)造函數(shù)中調(diào)用它

class Manager extends Employee...
    public Manager (String name, String id, int grade) {
        _name = name;
        _id = id;
        _grade = grade;
    }

public Manager (String name, String id, int grade) {
        super (name, id);
        _grade = grade;
    }

11.4 Push Down Method(函數(shù)下移)

超類中某個函數(shù)只與某個子類有關(guān)

11.5 Push Down Field(字段下移)

超類中某個字段只與某個子類有關(guān)

11.7 Extract Superclass(提取超類)

兩個類有相似特性,為兩個類建立超類,將相似特性移至超類

11.9 Collapse Hierarchy(折疊繼承體系)

超類和子類沒有太大區(qū)別,合成一個類

11.11 Replace Inhieritance with Delegation(以委托取代繼承)

某個子類只使用超類接口中的一部分,或是根本不需要繼承而來的數(shù)據(jù)。可以在子類中建一個字段用來保存超類,然后調(diào)整子類的函數(shù),將繼承關(guān)系改為委托超類

11.12 Replace Delegation with Inhieritance(以繼承取代委托)

在兩個類之間使用委托關(guān)系,并經(jīng)常編寫許多極簡單的委托函數(shù),可以吧委托方式換成繼承關(guān)系

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容