组合优于继承 Edric97 2022-07-11 127 阅读1分钟 虽然继承是面向对象的三大特性之一,而且模版模式就是用的继承,但是实际开发中应该少用继承。因为继承会导致类与类之间的关系变得很复杂,比如父类是会飞的,子类是会飞且会叫的,子类的子类是会飞会叫会吃鱼的,虽然功能的确是增加了(在不重写父类方法的情况下,甚至还满足里氏替换原则),但是类的数量飞速增长,代码的可维护性变得很差。 所以提倡用组合,设计模式诸如代理模式、观察者模式、策略模式、责任链模式等等都是在类中添加了一个接口,这样实现该接口的类都可以被注入到该类中,代码的可维护性大大增强。