继承有很强的入侵性,如何正确的使用继承,提出了里氏替换原则 定义:如果对每个类型为T1的对象O1,都有类型为为T2的对象O2,使得以T1定义的所有程序P在所有的对象O1都代换成O2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。换言之:所有引用基类的地方必须能透明地使用其子类的对象。 点评:在使用继承时,子类尽量不要重写父类的方法,不要破坏继承体系。如果真的需要重写父类方法,可向上抽取更通俗的基类,将原有的继承关系去掉,采用聚合,组合,依赖等关系代替。