面向对象:多用组合少用继承

为什么不推荐使用继承?

虽然继承可以解决代码复用问题,但继承层次过深、过复杂,也会影响到代码的可维护性。

组合相比继承的优势

如果继承出现了以上问题,我们可以利用组合、接口、委托三个技术手段来解决该问题。

组合和继承的选择

如果继承结构稳定(不轻易改变),且层次比较浅(比如,最多有两层继承关系),关系不复杂,就可以使用继承。反之,建议使用组合来替代继承。

你可能感兴趣的:(面向对象:多用组合少用继承)