2011-12-28 21 views
74

To może wydawać się głupie pytanie, ale jestem po prostu ciekawy i chcę użyć poprawnego terminu, gdy mówię o problemie. Nie można znaleźć podobnego pytania, więc postanowiłem utworzyć nowy.Zastąpienie lub przesłonięcie

Czy powinniśmy odnosić się do "zastąpienia implementacji" nadpisując lub przesłaniając? Czy jest to specyficzne dla języka?

+0

Bez kontekstu to pytanie jest zbyt szerokie. –

+5

To było nadrzędne w każdej książce i języku, w które byłem zaangażowany. – Joe

+1

Wiem, że to szeroki kontekst, ale o to właśnie chciałem zapytać, w bardzo ogólnym kontekście programowania . Z odpowiedzi wydaje się, że Override jest powszechnie używanym słowem, chociaż Overwrite również używa jego konkretów. –

Odpowiedz

91

Jeśli zastąpienie jednego wdrożenia zupełnie innym, że to „nadpisywania” lub częściej " zastępując ". Jeśli zastępujesz implementację inną w niektórych szczególnych przypadkach, to "przesłania".

Aby "zastąpić" coś jest umieścić coś innego na swoim miejscu, niszcząc nadpisane rzeczy. Aby "zastąpić" coś ma spowodować, że coś innego działa zamiast tego, nie uszkadzając ani nie zmieniając tego, co zostało przesłonięte.

+2

Nie zgadzam się. Uważam, że termin "zastąp" może zawsze oznaczać, że zastępujesz implementację; nie powinno mieć znaczenia, jak często i w jaki sposób. –

+0

Nigdy nie słyszałem, żeby było używane w ten sposób, ale nie wydaje się również niewłaściwe używanie go w ten sposób. –

+20

szybkie wyszukiwanie w słowniku.com potwierdza to: * nadpisanie * - Zniszcz (dane) lub dane (plik), wprowadzając nowe dane w jego miejsce. * przesłonięcie * - użyj własnego autorytetu, aby odrzucić lub anulować (decyzja, widok itp.) – allicarn

3

Oba są terminologii generyczne Override jest zapobieganie jakiegoś poprzedniego działań lub decyzji, az drugiej strony na Overwrite oznacza coś jest napisane nad czymś uprzednio pisemnej.

w prostych słowach,

Działania i decyzje są nadpisane.

Informacje są nadpisywane.

3

wpadłem z linkiem w internecie około 2 lat temu, w którym autor wyjaśnił różnicę między nimi za pomocą przykładu w świecie rzeczywistym:

Załóżmy, że masz firmę car-produkcji. Jesteś sławny i zadowolony ze swoich klientów, ponieważ zawsze pokładam ufność w Tobie i zakupu produktów (tj samochody)

Dla działalności przemysłu samochodowego, masz 2 opcje dotyczące strony:

  1. wszystkich rzeczy przez to przejść i wiesz, że wkroczyłeś we właściwy sposób. Więc chcesz nie tylko zachować poprzednie modele, ale również je udoskonalać. Ale jak to możliwe? Prawdopodobnie poprzez dodanie nowych funkcji do istniejących modeli! Teraz nowe modele mają wszystkie funkcje PLUS nowo ulepszone funkcje.

  2. Wiesz, że sposób, w jaki przeszedłeś, był zły! Cóż za okropne podejście !! Szybko zauważysz, że spółka powinna zmienić całą technologię ...

Po tym wszystkim, jeśli chodzi o programowanie, pierwsze podejście odnosi się do nadrzędnym skoro dodać kilka nowych zachowań do samochodu Plus zachowaj wcześniejsze zachowania, które miał samochód, podczas gdy drugie podejście odnosi się do Zastępując, ponieważ chcesz całkowicie zmienić zachowanie.

Mam nadzieję, że to pomoże.

+0

, która bardzo mi pomaga ..... bardzo dziękuję –

Powiązane problemy