0

我目前正在阅读Michael Feathers 的“有效地使用遗留代码”

我想我了解 LSP 违规,但问题是它说明了有助于避免 LSP 违规的经验法则,

  1. 尽可能避免覆盖具体方法。
  2. 如果这样做,请查看是否可以在覆盖方法中调用您正在覆盖的方法。

我不太明白数字2,你能帮我澄清一下吗?

4

1 回答 1

2

我想,是这个意思:

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

class DerivedClass : BaseClass
{
    public override void MyFunc()
    {
        base.MyFunc();
    }
}
于 2013-03-27T12:48:11.283 回答