1.设计模式_里氏替换原则

里氏替换,LSP(Liskov Substitution Principle),所有引用基类的地方必须能够透明地使用其子类的对象。通俗点讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何异常。 
我们知道面向对象语言的三大特征是继承、封装、多态,里氏替换原则就是依赖于继承、多态,建立抽象,通过抽象建立规范,在运行时替换成具体的对象,保证系统的扩展性、灵活性。 
往往和开放封闭原则不离不弃。

定义明确的说,只要父类能出现的地方子类也可以出现,而且替换为子类不会产生任何错误或异常,但是反过来就不行,有子类出现的地方,父类未必就能适应。

子类当然可以有自己的行为和外观,也就是方法和属性。但是里氏替换原则可以正着用,但是不能反着用。在子类出现的地方,父类未必就可以胜任。

所有子类的行为功能必须和其父类持一致,如果子类达不到这一点,那么必然违反里氏替换原则。

猜你喜欢

转载自blog.csdn.net/lizhenxiqnmlgb/article/details/82224319