Это мое понимание того, каковы различия Переопределение и Перезапись с точки зрения реального примера:
Предположим, у вас есть компания-производитель автомобилей. Вы известны и довольны своими клиентами, так как они всегда доверяют вам и покупают ваши продукты.
Чтобы продолжить свой бизнес, у вас есть, в основном, 2 варианта:
Все вещи проходят, и вы знаете, что вы идете по правильному пути. Таким образом, вы хотите не только сохранить предыдущие модели, но и продолжать их совершенствовать. Хотя, как получилось? Возможно, добавив некоторые новые функции в существующие модели! Теперь новые модели имеют все функции PLUS недавно расширенные функции.
Вы знаете, что путь, через который вы прошли, был своего рода неправильным! какой ужасный подход !! Вы быстро замечаете, что компания должна изменить всю технологию, в противном случае она будет испытывать резкие ситуации (например, банкротство или около того ...)
В конце концов, с точки зрения программирования, первый подход относится к Переопределению , так как вы добавляете новых ПОВЕДЕНИЙ к вашим автомобилям, сохраняя прежнее поведение, которое было у автомобиля, тогда как Второй подход относится к перезаписи , так как вы хотите полностью изменить поведение и разрабатывать новые функции с нуля.
Надеюсь, это поможет вам.