【问题标题】:Where did the term "polymorphism" come from?“多态性”一词从何而来?
【发布时间】:2011-01-27 04:15:52
【问题描述】:

“多态性”一词从何而来?

【问题讨论】:

  • 到目前为止有 3 个答案:希腊语、拉丁语和英语。
  • 这些不是相互排斥的。许多英语单词都有希腊语或拉丁语词根。
  • 我还以为是来自红矮星的那一集

标签: polymorphism terminology


【解决方案1】:

好吧,程序员从生物学中窃取了这个术语。生物学比 OOP 存在的时间要长得多!

看起来像继承层次结构,不是吗。

无论如何,polymorphism 是指同一物种的两个成员可以具有完全不同的身体特征。它看起来像物种形成,但事实并非如此。给出的例子是“普通”美洲虎和“黑暗变形”美洲虎

另一个例子是两性异形,

class Human
{
    virtual void eat() ;
} ;


class Man : Human
{
    // implementation for how a man eats:
    void eat() override ;
} ;


class Woman : Human
{
    // implementation for how a woman eats:
    void eat() override ;
} ;

【讨论】:

    【解决方案2】:

    多态这个词来自古希腊。如果某物具有多个“形状/形式”,则它是多态的。

    【讨论】:

      【解决方案3】:

      多态是一个早于它在计算机科学中使用的英语单词。它的意思是“呈现不同形式或形状的能力”。 (参考http://en.wiktionary.org/wiki/polymorphism#Etymology

      这类似于计算机科学概念,其中一个对象可以被视为具有许多不同的类型。

      【讨论】:

      • 不是英文单词;它纯粹是希腊语。
      • 词源学这个词也是纯希腊语。类似的词也是如此。只是指出那些反对我之前评论的人。
      【解决方案4】:

      它来自希腊词根“poly”(许多)和“morphe”(形式)。多态对象可以采用多种形式(它可以由指向其任何祖先类的指针表示)。多态函数也可以有多种形式(可以对实际上不同类型的对象进行操作)。

      【讨论】:

      猜你喜欢
      • 2015-01-12
      • 2010-11-10
      • 2011-02-14
      • 2015-02-11
      • 2019-10-28
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多