里氏替换原则(SLP)
就不说高大上的学术定义了,通俗讲,就是只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何的错误或异常,使用者可能根本就不需要知道是父类还是子类。讲白了,里氏替换原则的核心原理就是抽象(抽象有依赖于继承这个特性)。下面我们顺便说下继承的优缺点。
继承的优点:
1)代码重用,减少创建类的成本,每个子类都拥有父类的所有方法和属性。
2)子类与父类基本相似,但又与父类有所区别
3)提高代码的可扩展性
继承的缺点:
1)继承是侵入式的,只要继承必须拥有父类的所有属性和方法
2)可能造成子类代码冗余、灵活性降低,因为子类必须拥有父类的属性和方法
里氏替换原则和开闭原则往往是生死相依、不离不弃的,通过里氏替换来达到对扩展开放,对修改关闭的效果。
然而,这两个原则都同时强调了一个OOP的重要特性——抽象,
因此,在开发过程中运用抽象是走向代码优化的重要一步。
网友评论