覆盖或覆盖

我们是否应该引用“替换实现”;是覆盖还是重写?是特定于语言的吗?

106629 次浏览

常用的词是Override,它不是特定于语言的,因为你也可以从维基百科上读到:http://en.wikipedia.org/wiki/Method_overriding

如果你用另一个实现完全替换一个实现,它是"覆盖"或更常见的"替换"。如果你在某些特定情况下用另一个实现替换一个实现,它是"压倒一切的"。

对于“覆盖”,某物是将其他东西放在它的位置,破坏被覆盖的东西。对“覆盖”某物来说,是在不伤害或改变被覆盖的东西的情况下,导致其他东西代替它操作。

两者都是通用术语 Override是防止以前的一些行为或决定,另一方面,Overwrite是指在以前写的东西之上写的东西。< / p >

简单地说,

操作和决策将被覆盖。

信息被覆盖。

这是我对压倒一切的覆盖的区别的理解,根据一个现实世界的例子:

假设你有一家汽车制造公司。你很有名,你的客户很满意,因为他们总是信任你,购买你的产品。

要继续你的业务,你基本上有两个选择:

  1. 所有事情都会过去,你知道你走在正确的道路上。所以你不仅要保留以前的模型,还要不断增强它们。然而,这是为什么呢?可能是通过在现有模型中添加一些新功能!现在新型号有所有的功能PLUS新增强的功能。

  2. 你知道你走过的路是错的!多么可怕的方法!!你很快注意到公司应该改变整个技术,否则它将面临严峻的情况(比如破产之类的……)

毕竟,就编程而言,第一种方法指的是压倒一切的,因为你在保持汽车原有行为的同时添加了一些新行为,而第二种方法指的是覆盖,因为你想完全改变行为,并从头开始开发新功能。

希望这能帮到你。

我认为如果给一些上下文,就会更容易理解和区分。

APUE§10.17:

< p > POSIX。1还指定abort覆盖阻塞或忽略

.

来自必应词典:

凌驾于某事物之上:运用你的权力否决某人的决定、命令、 等。< / p >
这里覆盖表示它通过更高的权限“忽略”某些内容。 abort不替换进程的信号掩码,它只是“忽略”具有更高权限的约束

所以我认为覆盖覆盖是两个完全不同的词。覆盖应该是替换旧内容的词。