Solution 1:

If you're replacing one implementation completely with another, it's "overwriting" or more commonly "replacing". If you're replacing an implementation with another for some specific cases, it's "overriding".

To "overwrite" something is to put something else in its place, destroying the thing overwritten. To "override" something is to cause something else to operate instead of it without harming or changing the thing overridden.

Solution 2:

The common used word is Override and it's not language-specific as you can also read from wikipedia: http://en.wikipedia.org/wiki/Method_overriding

Solution 3:

Both are generic terminologies Override is the prevention of some previous action or decision and on the other hand Overwrite refers to something being written over something previously written.

in simple words,

Actions and decisions are overriden.

Information is overwritten.

Solution 4:

This is my understanding of what the differences of Overriding and Overwriting are, in terms of a real-world example:

Assume that you have an automobile manufacturing company. You are famous and happy with your customers since they always trust you and purchase your products.

To proceed with your business, you have, basically, 2 options in hand:

  1. All the things come through and you know that you step in the right path. So you want to not only keep the previous models but also keep enhancing them. Though, how come? Probably by adding some new features to the existing models! Now new models have all the features PLUS newly enhanced features.

  2. You know that the way you went through was sort of wrong! what an awful approach!! You notice quickly that the company should change the entire technology, otherwise it'll be undergoing harsh situations (like bankruptcy or so...)

After all, in terms of programming, the first approach refers to Overriding since you add some new BEHAVIORS to your cars while keeping the prior behaviors which the car had, whereas the second approach refers to Overwriting since you want to change the behavior(s) entirely, and develop new features from scratch.

Hope this helps you out.

Solution 5:

I think if given some context, it would be so much eaiser to understand and distinguish.

From APUE §10.17:

POSIX.1 also specifies that abort overrides the blocking or ignoring of the signal(SIGABRT) by the process.

From Bing Dictionary:

override sth: to use your authority to reject sb's decision, order, etc.

Here override means it "ignores" something by its higher authority. abort does not replace the signal mask of the process, it just "ignore" the constraint with higher authority.

So I think override and overwrite are totally 2 different words. overwrite should be the word for replacing the old content.