【问题标题】:Overwrite or override覆盖或覆盖
【发布时间】:2012-01-28 21:49:34
【问题描述】:

这似乎是一个愚蠢的问题,但我很好奇,想在谈论这个问题时使用正确的术语。我在这里找不到类似的问题,所以我决定创建一个新问题。

我们应该将“替换实现”称为覆盖还是覆盖?它是特定于语言的吗?

【问题讨论】:

  • 没有任何上下文,这个问题太宽泛了
  • 它在我参与的每一本书和每一种语言中都占据着重要地位。
  • 我知道这是一个广泛的背景,但这正是我想要问的,在一个非常普遍的编程背景下。从回复来看,Override 似乎是常用词,尽管 Overwrite 也有其特定用途。
  • 英文版中存在更多涉及的讨论。SE:english.stackexchange.com/questions/88400/…
  • 解释 [此处][1] 可能有用,尽管它与术语 [1] 无关:english.stackexchange.com/questions/88400/…

标签: terminology overriding overwrite


【解决方案1】:

这是我对 OverridingOverwriting 的区别的理解,就实际示例而言:

假设您有一家汽车制造公司。您很有名并且对您的客户感到满意,因为他们始终信任您并购买您的产品。

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

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

  2. 你知道你经历的方式有点错误!多么糟糕的方法!你很快就会注意到公司应该改变整个技术,否则它将面临严峻的形势(比如破产……)

毕竟,就编程而言,第一种方法是指Overriding,因为您在保留汽车先前的行为的同时,为您的汽车添加了一些新的行为,而第二种方法是指覆盖,因为您想完全改变行为,并从头开始开发新功能。

希望对你有所帮助。

【讨论】:

    【解决方案2】:

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

    来自 APUE §10.17:

    POSIX.1 还指定 abort 覆盖阻塞或忽略 进程的信号(SIGABRT)。

    来自必应词典:

    override sth: 用你的权力拒绝某人的决定、命令、 等等

    这里的override意味着它被更高的权威“忽略”了一些东西。 abort 不会替换进程的信号掩码,它只是“忽略”具有更高权限的约束。

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

    【讨论】:

      【解决方案3】:

      如果您将一种实现完全替换为另一种实现,则它是“覆盖”或更常见的“替换”。如果您在某些特定情况下将一个实现替换为另一个实现,则它是“overriding”。

      要“覆盖”某物是把其他东西放在它的位置,破坏被覆盖的东西。 “覆盖”某事是在不损害或改变被覆盖的事物的情况下使其他事物代替它运行。

      【讨论】:

      • 我不同意。我相信“覆盖”一词总是可以用来表示您正在替换实现;多久或以何种方式都无关紧要。
      • 我从没听说过这样用,不过这样用好像也没有错。
      • 在dictionary.com 上的快速搜索证实了这一点:覆盖 - 通过在其位置输入新数据来销毁(数据)或(文件)中的数据。 override - 使用自己的权限拒绝或取消(决定、观点等)
      【解决方案4】:

      两者都是通用术语 Override 是防止某些先前的行动或决定,另一方面 Overwrite 是指某些东西被写在以前写的东西上。

      简单来说,

      行动和决定被覆盖。

      信息被覆盖。

      【讨论】:

        【解决方案5】:

        常用词是 Override,它不是特定于语言的,您也可以从 wikipedia 中阅读:http://en.wikipedia.org/wiki/Method_overriding

        【讨论】:

          猜你喜欢
          • 2011-06-11
          • 2012-02-16
          • 1970-01-01
          • 1970-01-01
          • 2013-01-29
          • 1970-01-01
          • 2021-06-26
          • 2020-06-06
          • 2011-01-23
          相关资源
          最近更新 更多