Перезаписать или переопределить - PullRequest
110 голосов
/ 28 декабря 2011

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

Должны ли мы ссылаться на перезапись или переопределение «замена реализации»?Это зависит от языка?

Ответы [ 5 ]

126 голосов
/ 28 декабря 2011

Если вы полностью заменяете одну реализацию другой, это означает " перезапись " или чаще " замена ". Если вы заменяете реализацию на другую для некоторых конкретных случаев, это « overriding ».

Чтобы " перезаписать " что-то означает поставить что-то еще на свое место, уничтожив перезаписанную вещь. Чтобы " переопределить " что-то значит заставить работать что-то другое вместо этого без вреда или изменения переопределенной вещи.

28 голосов
/ 28 декабря 2011

Обычно используемое слово - Override, и оно не зависит от языка, как вы также можете прочитать из википедии: http://en.wikipedia.org/wiki/Method_overriding

11 голосов
/ 17 ноября 2016

Это мое понимание того, каковы различия Переопределение и Перезапись с точки зрения реального примера:

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

Чтобы продолжить свой бизнес, у вас есть, в основном, 2 варианта:

  1. Все вещи проходят, и вы знаете, что вы идете по правильному пути. Таким образом, вы хотите не только сохранить предыдущие модели, но и продолжать их совершенствовать. Хотя, как получилось? Возможно, добавив некоторые новые функции в существующие модели! Теперь новые модели имеют все функции PLUS недавно расширенные функции.

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

В конце концов, с точки зрения программирования, первый подход относится к Переопределению , так как вы добавляете новых ПОВЕДЕНИЙ к вашим автомобилям, сохраняя прежнее поведение, которое было у автомобиля, тогда как Второй подход относится к перезаписи , так как вы хотите полностью изменить поведение и разрабатывать новые функции с нуля.

Надеюсь, это поможет вам.

9 голосов
/ 02 декабря 2015

Обе являются общими терминологиями Override - это предотвращение какого-либо предыдущего действия или решения, а с другой стороны * Overwrite относится к тому, что написано поверх чего-то ранее написанного.

простыми словами

Действия и решения отменяются.

Информация перезаписывается.

1 голос
/ 04 апреля 2019

Я думаю, что если бы был какой-то контекст, было бы намного проще понять и отличить.

От APUE §10.17:

POSIX.1также указывает, что abort отменяет блокировку или игнорирование сигнала (SIGABRT) процессом.

Из словаря Bing:

переопределить sth: для использованияваше право отклонить решение, распоряжение и т. д.

Здесь override означает, что оно «игнорирует» что-то из-за своего высшего авторитета.abort не заменяет маску сигналов процесса, она просто «игнорирует» ограничение с более высоким уровнем полномочий.

Так что я думаю override и overwrite полностью2 разных слова. перезаписать должно быть словом для замены старого контента.

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