2011-12-28 2 views
74

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

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

+0

Без какого-либо контекста этот вопрос слишком широк. –

+5

Он был преобладающим в каждой книге и на языке, в котором я участвовал. – Joe

+1

Я знаю, что это широкий контекст, но это именно то, что я хотел спросить, в очень общем контексте программирования , Из ответов кажется, что Override является обычно используемым словом, хотя Overwrite также использует свою специфику. –

ответ

91

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

К "overwrite" что-то должно положить что-то еще на свое место, уничтожив переписанную вещь. К «переопределить« что-то должно заставить что-то другое действовать вместо него, не нанося вреда или изменения переопределенной вещи.

+2

Я не согласен. Я считаю, что термин «переопределение» всегда можно использовать, чтобы означать, что вы заменяете реализацию; не важно, как часто или каким образом. –

+0

Я никогда не слышал, чтобы это использовалось таким образом, но, похоже, не так уж и так. –

+20

Быстрый поиск по словарю.com подтверждает следующее: * overwrite * - Уничтожить (данные) или данные в (файле), введя новые данные на свое место. * override * - Используйте свои полномочия для отклонения или отмены (решение, просмотр и т. Д.) – allicarn

3

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

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

Действия и решения перекрываться.

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

3

Я придумал ссылку в Интернете около 2 лет назад, в которой автор объяснял разницу между ними с реальным миром, например:

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

Для деятельности автомобилестроении, у вас есть 2 варианта на руках:

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

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

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

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

+0

, что мне очень помогает ..... спасибо вам очень много –

Смежные вопросы