Как избежать нарушений LSP (принципов замены Лискова)

В настоящее время я читаю "Эффективная работа с устаревшим кодом" автора Майкл Фезерс

и я думаю, что понимаю о нарушениях LSP, но дело в том, что там говорится об эмпирических правилах, которые помогают избежать нарушений LSP, а именно:

  1. По возможности избегайте переопределения конкретных методов.
  2. Если вы это сделаете, посмотрите, можете ли вы вызвать метод, который вы переопределяете, в методе переопределения.

Я не совсем понимаю номер 2, не могли бы вы помочь мне объяснить это, пожалуйста?


person Quizer    schedule 26.03.2013    source источник


Ответы (1)


Я думаю, в этом смысл:

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

class DerivedClass : BaseClass
{
    public override void MyFunc()
    {
        base.MyFunc();
    }
}
person zzfima    schedule 27.03.2013