1.字段上移
两个子类中拥有相同的字段,可以把该字段上移到父类中。
2.函数上移
两个子类中有相同的函数,可以把该函数上移到父类中。
3.构造函数本体上移
你在各个子类中拥有一些构造函数,他们的本体代码几乎完全一致,可以把构造函数本体上移到父类中。
4.字段和函数下移
某个字段或者函数只是某个子类特有的而不是公共的特性,可以把该字段或者函数下移到需要它的子类中。
5.提炼父类
两个类有相似的特性,可以把相似的特性提炼出来,并为他们新建一个父类。
6.构造模版函数
你有一些子类,其中某些函数以相同的顺序执行类似的操作,但各操作实际上有所不同,可以构造模版函数封装操作序列,让子类实现具体的操作。
7.以组合取代继承 (组合优先于继承)
某各类和其父类并非is-a关系,用组合取代继承关系。