馬鹿げた質問に思えるかもしれませんが、私は好奇心旺盛で、この問題について話すときに正しい用語を使用したいと思います。ここで同様の質問が見つからなかったので、新しい質問を作成することにしました。
「実装の置き換え」の上書きまたは上書きを参照する必要がありますか?言語固有ですか?
馬鹿げた質問に思えるかもしれませんが、私は好奇心旺盛で、この問題について話すときに正しい用語を使用したいと思います。ここで同様の質問が見つからなかったので、新しい質問を作成することにしました。
「実装の置き換え」の上書きまたは上書きを参照する必要がありますか?言語固有ですか?
回答:
一般的に使用されている単語は上書きです。また、Wikipediaから読むこともできるため、言語固有ではありません。http://en.wikipedia.org/wiki/Method_overriding
ある実装を別の実装に完全に置き換える場合、それは「上書き」またはより一般的には「置換」です。特定のケースで実装を別のものに置き換える場合は、「オーバーライド」します。
何かを「上書きする」とは、代わりに何かを置き、上書きされたものを破壊することです。何かを「オーバーライドする」とは、オーバーライドされたものを害したり変更したりせずに、何かの代わりに何かを動作させることです。
これは、の違い何の私の理解でオーバーライドし、上書きが実世界の例の観点から、以下のとおりです。
自動車製造会社があるとします。彼らは常にあなたを信頼してあなたの製品を購入するので、あなたは有名であなたの顧客に満足しています。
あなたのビジネスを進めるには、基本的に、2つのオプションがあります:
すべてのものが通り抜け、正しい道に進んでいることがわかります。したがって、以前のモデルを維持するだけでなく、それらを強化し続ける必要があります。でもどうして?おそらく、既存のモデルにいくつかの新機能を追加することによって!今、新しいモデルは、すべての機能を持っていPLUS新しく強化された機能を。
あなたがたどった方法がちょっと間違っていたことを知っています!なんとひどいアプローチか!あなたは会社がテクノロジー全体を変えるべきだとすぐに気づきます、さもなければ、それは破産などのような過酷な状況を経験するでしょう。
結局のところ、プログラミングに関して、最初のアプローチは、車が持っていた以前の動作を維持しながら新しい動作を車に追加するため、オーバーライドを参照しますが、2番目の方法は、動作を変更するため、上書きを参照します。完全に、そしてゼロから新機能を開発します。
これがお役に立てば幸いです。
何らかのコンテキストが与えられれば、理解して区別することは非常に容易になると思います。
APUE§10.17から:
POSIX.1 は、プロセスによる
abort
signal(SIGABRT
)のブロックまたは無視をオーバーライドすることも指定しています。
Bing辞書から:
sthのオーバーライド:権限を使用してsbの決定、命令などを拒否します。
ここでのオーバーライドとは、より高い権限によって何かを「無視」することを意味します。
abort
プロセスのシグナルマスクを置き換えるのではなく、より高い権限を持つ制約を「無視」するだけです。
したがって、オーバーライドと上書きは完全に2つの異なる単語だと思います。上書きは、古いコンテンツを置き換える言葉です。