Снова принцип подстановки Лискова - каждый переопределенный метод нарушает принцип - PullRequest
1 голос
/ 27 июня 2019

Я знаю, что есть много похожих предметов, но мне нужно спросить, потому что правило гласит: «Если класс S является подтипом класса T, тогда экземпляры T могут быть заменены экземплярами S без изменения какого-либо желательного поведения Tсам."- поэтому каждый переопределенный метод нарушает правило.Я ошибся?Потому что каждый переопределяющий метод изменяет базовый класс.Если нет - приведите пример.

1 Ответ

1 голос
/ 27 июня 2019

Сначала вам нужно понять понятие абстракции и полиморфизма в ООП.

Если T является родительским классом, он должен быть переопределен дочерним классом S, учитывая, что T сделан виртуальным и S переопределен. Пример: T может быть BirdClass () с методами CanFly (), CanEat (), CanSee (). Тогда S может быть Pegion, который может переопределять методы CanFly (), CanEat (), CanSee (). ИЛИ Воробей, который может переопределять методы CanFly (), CanEat (), CanSee () родительского класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...