处理继承关系
大约 1 分钟
原则:找相同代码,责任职能划分,减少相同代码 1)字段上移/下移 要点:部分与整体关系 2) 函数上移 要点:有些函数,在各个子类中产生完全相同效果 3)构造函数本体上移 要点:在超类新建一个构造函数,并在子类构造函数中调用它 4)函数下移 要点:超类中某个函数只与部分子类有关 5)提炼子类 要点:类中某些特性只被某些(而非全部)实例用到 方案:新建一个子类,将上面所说的那一部分特性转移到子类中 6)提炼超类 要点:两个类有类似特性 方案:为这两个类建立一个超类,将相同特性转移至超类 7)提炼接口 要点:将相同的子集提炼到一个独立接口中 8)折叠继承体系 要点:超类和子类之间无太大区别 方案:将他们合为一体 9)塑造模板函数 方案:你有一些子类,其中相应的某些函数以相同顺序执行类似操作,但各个操作的细节上有所不同。 10)以委托取代继承 要点:子类只使用超类接口中的一部分 11)以继承取代委托 要点:委托函数太多