【发布时间】:2011-01-27 04:15:52
【问题描述】:
“多态性”一词从何而来?
【问题讨论】:
-
到目前为止有 3 个答案:希腊语、拉丁语和英语。
-
这些不是相互排斥的。许多英语单词都有希腊语或拉丁语词根。
-
我还以为是来自红矮星的那一集
“多态性”一词从何而来?
【问题讨论】:
好吧,程序员从生物学中窃取了这个术语。生物学比 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 ;
} ;
【讨论】:
多态这个词来自古希腊。如果某物具有多个“形状/形式”,则它是多态的。
【讨论】:
多态是一个早于它在计算机科学中使用的英语单词。它的意思是“呈现不同形式或形状的能力”。 (参考http://en.wiktionary.org/wiki/polymorphism#Etymology)
这类似于计算机科学概念,其中一个对象可以被视为具有许多不同的类型。
【讨论】:
它来自希腊词根“poly”(许多)和“morphe”(形式)。多态对象可以采用多种形式(它可以由指向其任何祖先类的指针表示)。多态函数也可以有多种形式(可以对实际上不同类型的对象进行操作)。
【讨论】: