LINUX.ORG.RU

История изменений

Исправление Aber, (текущая версия) :

Это буква L - принцип подстановки Барбары Лисков.

На самом деле там всегда два контракта.

  1. Обычное ООП: дочерние классы не могут поменять интерфейс базового класса. Например не могут метод базового класса сделать невидимым в дочернем. Это все и так из коробки во всех ООП языках.

  2. Новенькое: наследование поведения.

Вторая вещь немного противоречит тому что мы делаем в реальном мире, мы ведь во многих случаях делаем наследование чтоб поменять поведение. А тут вводят новое требование, наш специальный класс созданный от базового класса ничего не должен поменять в поведении если его будут использовать как базовый класс.

Исходная версия Aber, :

Это буква L - принцип подстановки Барбары Лисков.

На самом деле там всегда два контракта.

  1. Обычное ООП: дочерние классы не могут поменять интерфейс базового класса. Например не могут метод базового класса сделать невидимым в дочернем. Это все и так из коробки во всех ООП языках.

  2. Новенькое: наследование поведения.

Вторую вещь немного противоречит тому что мы делаем в реальном мире, мы ведь во многих случаях делаем наследование чтоб поменять поведение. А тут вводят новое требование, наш специальный класс созданный от базового класса ничего не должен поменять в поведении если его будут использовать как базовый класс.