避免LSP(Liskov替换原则)违规

时间:2013-03-26 15:43:35

标签: software-design liskov-substitution-principle

我目前正在阅读"Working Effectively with Legacy Code" by Michael Feathers

我认为我了解LSP违规行为,但问题在于它说明了有助于避免LSP违规的经验法则,

  
      
  1. 尽可能避免覆盖具体方法。
  2.   
  3. 如果你这样做,看看你是否可以调用覆盖方法覆盖的方法。
  4.   

我不太明白2号,你能帮我解释一下吗?

1 个答案:

答案 0 :(得分:2)

我认为,意思是:

class BaseClass
{
    public virtual void MyFunc()
    {
    }
}

class DerivedClass : BaseClass
{
    public override void MyFunc()
    {
        base.MyFunc();
    }
}