2011-12-28 263 views
74

這似乎是一個愚蠢的問題,但我只是很好奇,並希望在談論這個問題時使用正確的術語。在這裏找不到類似的問題,所以我決定創建一個新的。覆蓋或覆蓋

我們應該引用「替換實現」覆蓋還是覆蓋? 它是語言特定的嗎?

+0

沒有任何的背景下,這個問題太寬泛 – 2011-12-28 03:34:53

+5

它已經覆蓋在每本書和語言,我已經參與英寸 – Joe 2011-12-28 03:35:36

+1

我知道這是一個大背景,但是這正是我的意思是問,在編程的一個非常普遍的情況下。從響應看來,Override是常用的詞,但Overwrite也有其特定的用法。 – 2011-12-28 09:07:36

回答

24

的常用詞是覆蓋,它不是特定語言,你也可以從維基百科閱讀:​​

91

如果要完全與另一個替換一個實現,它的「覆蓋」或更常用「 替代「。如果您在某些特定情況下用另一個替換實現,則爲「覆蓋」。

要「覆蓋」有一些東西是放置其他東西在它的位置,摧毀被覆蓋的東西。若要「覆蓋」有些東西會導致其他操作而不是不損害或改變被覆蓋的東西。

+2

我不同意。我相信術語「覆蓋」總是可以用來表示你正在替換一個實現;不管多頻繁或以什麼方式進行。 – 2011-12-28 03:51:27

+0

我從來沒有聽說過這種方式,但是這樣使用它似乎也不錯。 – 2011-12-28 03:56:03

+20

在dictionary.com上快速搜索確認:*覆蓋* - 通過在其位置輸入新數據來銷燬(數據)或(文件中的)數據。 *重寫* - 使用權限拒絕或取消(一個決定,查看等) – allicarn 2012-11-15 19:50:17

3

兩者都是通用術語 Override是一些先前的行動或決定的預防,另一方面Overwrite指的是寫在先前寫的東西。

簡單的話

的行動和決定都覆蓋。

信息被覆蓋。

3

我想出了大約2年前在互聯網上的鏈接中,作者用真實世界的例子來說明它們之間的區別:

假設你有一個汽車製造公司。您是著名的,快樂與你的客戶,因爲他們總是對你的信任和購買你的產品(如汽車)

對於汽車製造業的活動,你手頭上有2種選擇:

  1. 所有的東西通過並且你知道你以正確的方式行事。所以你不僅要保留以前的模型,還要繼續加強它們。但是怎麼來?可能通過向現有模型添加新功能!現在新款車型擁有PLUS全新增強功能。

  2. 你知道你經歷過的方式是錯的!多可怕的方法!你注意到很快,該公司應該改變整個技術...

畢竟,在編程方面,第一種方法是指重載因爲你添加了一些新的行爲車上再加上你保持汽車的先前行爲,而第二種方法涉及覆蓋,因爲您想完全改變行爲。

希望這會有所幫助。

+0

,幫助我很多.....非常感謝你 – 2016-11-18 15:36:08