Zastąp lub zastąp


142

To może wydawać się głupie pytanie, ale jestem po prostu ciekawy i chcę użyć właściwego terminu, gdy mówię o tym problemie. Nie mogłem znaleźć podobnego pytania, więc postanowiłem utworzyć nowe.

Czy powinniśmy odnosić się do „zastępowania implementacji” nadpisując czy nadpisując? Czy jest to specyficzne dla języka?


Bez kontekstu to pytanie jest zbyt szerokie
parapura rajkumar

7
To było nadrzędne w każdej książce i języku, którym się zajmowałem.
Joe,

1
Wiem, że to szeroki kontekst, ale właśnie o to chciałem zapytać w bardzo ogólnym kontekście programowania. Z odpowiedzi wydaje się, że powszechnie używanym słowem jest Zastąp, chociaż Zastąpienie ma również swoje specyficzne użycie.
Kent Nguyen

Bardziej zaangażowana dyskusja istnieje w języku angielskim, SE: english.stackexchange.com/questions/88400/… .

Wyjaśnienie [tutaj] [1] może być przydatne, chociaż nie dotyczy terminologii [1]: polish.stackexchange.com/questions/88400/…
A Man

Odpowiedzi:



155

Jeśli całkowicie zastępujesz jedną implementację inną, jest to „ nadpisywanie ” lub częściej „ zastępowanie ”. Jeśli w niektórych przypadkach zastępujesz implementację inną, jest to „ nadpisywanie ”.

Nadpisanie ” czegoś oznacza umieszczenie czegoś innego na jego miejscu, zniszczenie nadpisanej rzeczy. „ Przesłonić ” coś oznacza spowodować, że zamiast tego zadziała coś innego, bez szkody lub zmiany nadpisanej rzeczy.


3
Nie zgadzam się. Uważam, że terminu „zastąpienie” można zawsze używać w celu oznaczenia, że ​​zastępujesz implementację; nie powinno mieć znaczenia, jak często i w jaki sposób.
Brian Rogers

Nigdy nie słyszałem, żeby był używany w ten sposób, ale używanie go w ten sposób też nie wydaje się złe.
David Schwartz

43
szybkie wyszukiwanie w słowniku.com potwierdza to: nadpisz - Zniszcz (dane) lub dane w (pliku), wprowadzając w ich miejsce nowe dane. override - Użyj swojego upoważnienia, aby odrzucić lub anulować (decyzja, pogląd itp.)
allicarn

15

To jest mój zrozumienie, jakie różnice nadrzędnych i nadpisywania są w kategoriach przykład w świecie rzeczywistym:

Załóżmy, że masz firmę produkującą samochody. Jesteś znany i zadowolony ze swoich klientów, ponieważ zawsze Ci ufają i kupują Twoje produkty.

Aby kontynuować swoją działalność, masz w zasadzie dwie opcje:

  1. Wszystkie rzeczy przychodzą i wiesz, że kroczysz właściwą ścieżką. Dlatego chcesz nie tylko zachować poprzednie modele, ale także nadal je ulepszać. Chociaż, jak to się stało? 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ł trochę zły! co za okropne podejście! Szybko zauważysz, że firma powinna zmienić całą technologię, w przeciwnym razie będzie w trudnych sytuacjach (jak bankructwo itp.)

W końcu, jeśli chodzi o programowanie, pierwsze podejście odnosi się do nadpisywania, ponieważ dodajesz nowe ZACHOWANIA do swoich samochodów, zachowując wcześniejsze zachowania samochodu, podczas gdy drugie podejście odnosi się do nadpisywania, ponieważ chcesz zmienić zachowanie (a) całkowicie i opracowywać nowe funkcje od podstaw.

Mam nadzieję, że to ci pomoże.


13

Obie są terminologiami rodzajowymi, które Overridezapobiegają jakiejś wcześniejszej akcji lub decyzji, az drugiej strony Overwriteodnoszą się do czegoś, co zostało napisane na czymś wcześniej napisanym.

w prostych słowach,

Działania i decyzje są unieważniane.

Informacje są nadpisywane.


2

Myślę, że mając jakiś kontekst, o wiele łatwiej byłoby zrozumieć i rozróżnić.

Od APUE §10.17:

POSIX.1 określa również, że abortnadpisuje blokowanie lub ignorowanie funkcji signal ( SIGABRT) przez proces.

Ze słownika Bing:

override sth: to use your authority, aby odrzucić czyjąś decyzję, rozkaz itp.

Tutaj nadpisanie oznacza, że ​​„ignoruje” coś przez swój wyższy autorytet. abortnie zastępuje maski sygnału procesu, po prostu „ignoruje” ograniczenie o wyższym autorytecie.

Więc myślę, że zastąpienie i nadpisanie to zupełnie 2 różne słowa. nadpisać powinno być słowem zastępującym starą zawartość.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.