多态性 - 仅用两个句子定义 [关闭]

Posted

技术标签:

【中文标题】多态性 - 仅用两个句子定义 [关闭]【英文标题】:Polymorphism - Define In Just Two Sentences [closed] 【发布时间】:2010-09-29 10:14:10 【问题描述】:

我查看了其他定义和解释,但没有一个令我满意。我想看看是否有人可以在不使用任何代码或示例的情况下最多用两句话定义多态性。我不想听到“所以你有一个人/汽车/开罐器......”或者这个词是如何派生的(没有人对你知道 poly 和 morph 的含义印象深刻)。如果您非常了解什么是多态性并且对英语有很好的掌握,那么您应该能够以简短但密集的定义回答这个问题。如果您的定义准确地定义了多态性,但过于密集以至于需要多次阅读,那么这正是我要寻找的。​​p>

为什么只有两句话?因为定义简短而明智。解释很长,包含示例和代码。在此处查找解释(这些页面上的答案对我的问题不满意):

Polymorphism vs Overriding vs Overloading Try to describe polymorphism as easy as you can

我为什么要问这个问题?因为我被问到同样的问题,我发现我无法给出一个令人满意的定义(按照我的标准,这是相当高的)。我想看看这个网站上的大人物是否可以做到。

如果你真的不能满足两个句子的要求(这是一个很难定义的主题),那么你再过一遍就好了。这个想法是有一个定义,实际上定义了多态性是什么,而不解释它的作用或如何使用它(得到区别?)。

【问题讨论】:

一个名字,多个实现。 我在一次求职面试中被问到这个问题。我觉得在工作面试中问这个问题是一种势利的精英行为,谷歌员工会沾沾自喜地问这种问题,假设没有人能有效地回答它。如果你因为无法回答而没有得到这份工作,那么你最好为那些对你能做什么而不是你能胜过的人更感兴趣的人工作。 多态是开发中一个非常重要的概念。如果不是正式定义,我强烈建议至少了解它的价值。我建议至少能够解释策略模式的工作原理及其价值。 我相信这是我迄今为止读过的一个非常好的多态性定义,它抓住了它的本质。多态性是具有相同抽象概念的多个实现的想法。它可以是静态多态性,如方法重载和运算符重载,也可以是动态多态性,如方法覆盖或设计模式,如策略模式。 【参考方案1】:

执行不同方法的单个类称为多态性。

【讨论】:

以上是关于多态性 - 仅用两个句子定义 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在C ++中使用多态而不是继承的实际优势[关闭]

多态性

多态性

多态性的好处[关闭]

多态性、重载和覆盖是相似的概念吗? [关闭]

尝试尽可能简单地描述多态性[关闭]