心寄笔端 附庸风雅

甘草的技术博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

LSP,Liskov~?

阅读后,“LSP原则解决的问题是IS-A关系的正确性”就成为本文的第一句话。【1】

现在开始我们的正文部分。
记得在前面的章节中,我们提到过LSP,当时是以一个矩形和正方形的例子引出的。
是的,关于LSP,我们还有更多要说的。


How To Do?

class Base
{
    
public bool doAction() {}
}

class Derived : Base
{
    
public bool doAction() {}
}

如果系统“依赖”new Base().doAction();的行为,那么系统也应该“接受”new Derived().doAction();的行为。
原谅我使用了依赖,和接受两个词汇。【2】


【1】: 这句话或许片面的强调了目的性,但是更始于初学者。

【2】:所谓依赖,是区别于行为的返回值,也区别于行为所造成的状态改变,毕竟,多态就是要产生不同的行为。


posted on 2008-11-09 23:21  甘草  阅读(337)  评论(0编辑  收藏  举报
Baidu
Google
心寄笔端
TEST
以后我会加上Power By的,先别介意