代码重构 第十一章总结

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(以继承取代委托)

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容