История изменений
Исправление Aber, (текущая версия) :
Это буква L - принцип подстановки Барбары Лисков.
На самом деле там всегда два контракта.
-
Обычное ООП: дочерние классы не могут поменять интерфейс базового класса. Например не могут метод базового класса сделать невидимым в дочернем. Это все и так из коробки во всех ООП языках.
-
Новенькое: наследование поведения.
Вторая вещь немного противоречит тому что мы делаем в реальном мире, мы ведь во многих случаях делаем наследование чтоб поменять поведение. А тут вводят новое требование, наш специальный класс созданный от базового класса ничего не должен поменять в поведении если его будут использовать как базовый класс.
Исходная версия Aber, :
Это буква L - принцип подстановки Барбары Лисков.
На самом деле там всегда два контракта.
-
Обычное ООП: дочерние классы не могут поменять интерфейс базового класса. Например не могут метод базового класса сделать невидимым в дочернем. Это все и так из коробки во всех ООП языках.
-
Новенькое: наследование поведения.
Вторую вещь немного противоречит тому что мы делаем в реальном мире, мы ведь во многих случаях делаем наследование чтоб поменять поведение. А тут вводят новое требование, наш специальный класс созданный от базового класса ничего не должен поменять в поведении если его будут использовать как базовый класс.