Перезаписать или переопределить

142

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

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

Кент Нгуен
источник
Без какого-либо контекста этот вопрос слишком широк
parapura rajkumar
7
Это преобладает в каждой книге и на каждом языке, в котором я принимал участие.
Джо,
1
Я знаю, что это широкий контекст, но это именно то, что я хотел спросить, в очень общем контексте программирования. Из ответов кажется, что Override - это часто используемое слово, хотя Overwrite имеет и свое конкретное использование.
Кент Нгуен
Более активное обсуждение существует на английском языке.SE: english.stackexchange.com/questions/88400/… .
Объяснение [здесь] [1] может быть полезным, хотя оно не о терминологии [1]: english.stackexchange.com/questions/88400/…
Человек,

Ответы:

156

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

« Перезаписать » что-то, значит поставить что-то другое на место, уничтожить перезаписанное. « Переопределить » что-то - значит заставить работать что-то другое вместо того, чтобы не навредить или изменить переопределенную вещь.

Дэвид Шварц
источник
3
Я не согласен. Я считаю, что термин «переопределение» всегда можно использовать для обозначения того, что вы заменяете реализацию; не должно иметь значения, как часто или каким образом.
Брайан Роджерс
Я никогда не слышал, чтобы это использовалось таким образом, но также не кажется неправильным использовать это таким образом.
Дэвид Шварц
43
быстрый поиск на dictionary.com подтверждает это: перезаписать - уничтожить (данные) или данные в (файле), введя новые данные вместо них. переопределить - использовать свои полномочия, чтобы отклонить или отменить (решение, просмотр и т. д.)
allicarn
15

Это мое понимание различий между переопределением и перезаписью с точки зрения реального примера:

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

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

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

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

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

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

inverted_index
источник
13

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

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

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

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

mumair
источник
2

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

От APUE §10.17:

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

Из словаря Bing:

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

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

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

стог
источник