代码重构 第十一章总结

2022-08-12

第十一章 处理概括关系

11.1 Pull Up Field(字段上移)

两个子类拥有相同的字段,将字段移至超类

11.2 Pull Up Method(函数上移)

某些函数在各个子类中产生完全相同的结果,将该函数移至超类

11.3 Pull Up Constructor Body(构造函数本体上移)

各个子类中拥有本体几乎一致的构造函数,将相同部分移至超类,在子类构造函数中调用它

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(函数下移)

超类中某个函数只与某个子类有关

11.5 Push Down Field(字段下移)

超类中某个字段只与某个子类有关

11.7 Extract Superclass(提取超类)

两个类有相似特性,为两个类建立超类,将相似特性移至超类

11.9 Collapse Hierarchy(折叠继承体系)

超类和子类没有太大区别,合成一个类

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

某个子类只使用超类接口中的一部分,或是根本不需要继承而来的数据。可以在子类中建一个字段用来保存超类,然后调整子类的函数,将继承关系改为委托超类

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

在两个类之间使用委托关系,并经常编写许多极简单的委托函数,可以吧委托方式换成继承关系

你可能感兴趣的:(代码重构 第十一章总结)