圣诞大减价开始了!

拒绝继承

迹象和症状

如果一个子类只使用继承自父类的一些方法和属性,那么层次结构就不平衡了。不需要的方法可能只是不使用,或者被重新定义并发出异常。

问题的原因

有些人只是为了在超类中重用代码而在类之间创建继承。但是父类和子类是完全不同的。

治疗

  • 如果继承没有任何意义,并且子类与父类确实没有任何共同之处,则消除继承以支持用委托代替继承

  • 如果继承是合适的,则去掉子类中不需要的字段和方法。从父类中提取子类所需的所有字段和方法,将它们放在一个新的超类中,并设置两个类都从父类继承(提取超类).

回报

  • 提高代码的清晰度和组织性。你将不再需要思考为什么类继承自椅子类(即使它们都有4条腿)。
Baidu
map