Liskov Substitution Principle (LSP) - OO设计的里氏替换原则

所有引用基类的地方必须能透明地使用其子类的对象。也就是说,只有满足以下2个条件的OO设计才可被认为是满足了LSP原则
不应该在代码中出现if/else之类对子类类型进行判断的条件

子类应当可以替换父类并出现在父类能够出现的任何地方,或者说如果我们把代码中使用基类的地方用它的子类所代替,代码还能正常工作

里氏替换原则LSP是使代码符合开闭原则的一个重要保证。同时LSP体现了:
- 类的继承原则:如果一个继承类的对象可能会在基类出现的地方出现运行错误,则该子类不应该从该基类继承,或者说,应该重新设计它们之间的关系。
- 动作正确性保证:从另一个侧面上保证了符合LSP设计原则的类的扩展不会给已有的系统引入新的错误。

posted @ 2009-01-05 12:45  rentj  阅读(370)  评论(0编辑  收藏  举报