里氏替换(LSP)之我见

LSP讲述了基类和子类的关系,是一个继承的规范原则。

继承优点:

    1)代码共享,子类拥有父类方法和属性

    2)提高代码重用性

    3)提高代码扩展性

缺点:

    1)继承是侵入性的,只要继承,必须拥有父类所有属性和方法

    2)降低代码灵活性

     3)增强了耦合性,当父类常量、变量和方法被修改,需考虑子类的修改

定义:所有引用基类的地方必须能透明地使用其子类的对象

(只要父类能出现的地方子类就可以出现,且替换为子类也不会产生错误和异常,使用者可能根本无需知道是父类还是子类。但反过来有子类出现的地方,父类未必能适应)

你可能感兴趣的:(里氏替换(LSP)之我见)