代码之家  ›  专栏  ›  技术社区  ›  Alon Gubkin

“多态性”一词是从哪里来的?

  •  4
  • Alon Gubkin  · 技术社区  · 15 年前

    “多态性”一词是从哪里来的?

    4 回复  |  直到 12 年前
        1
  •  21
  •   Tyler McHenry    15 年前

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

        2
  •  2
  •   danben    15 年前

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

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

        3
  •  2
  •   erenon    15 年前

    多态性这个词来自古希腊语。如果一个事物有多个“形状/形式”,它就是多形态的。

        4
  •  2
  •   bobobobo    12 年前

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

    class

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

    不管怎样, polymorphism 是指同一物种的两个成员具有完全不同的物理特性。看起来像是物种形成,但事实并非如此。给出的例子是“正常”美洲虎和“深色变形”美洲虎。

    jag black jag

    另一个例子是性二形性,

    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 ;
    } ;