这种多态性隐喻是错误的吗?

Is this Polymorphism metaphor erroneous?

本文关键字:错误 多态性      更新时间:2023-10-16

对多态性的隐喻(由赫伯特·谢尔德(Herbert Schildt))在C 中提到:

在 汽车的方向盘。方向盘(即接口)是相同的 无论使用哪种类型的实际转向机制。也就是说,方向盘起作用 无论您的汽车都有手动转向,动力转向还是齿轮和小齿轮转向。因此,一旦您知道如何操作方向盘,就可以开车 任何类型的汽车。

我认为,方向盘的存在仅表示多态性,而没有相同的功能。因此,在某些汽车中,将车轮转向左边可能会向右移动。

哪一个更准确?还是我将其与鸭打字混淆了?

不是指示多态性的方向盘本身,而是方向盘背后的机制实际上执行了转向功能,这表明了多态性的多态性。方向盘及其预期行为(顺时针表示正确等)是interface的隐喻。

方向盘代表interface,而rack and pinionpowermanual等于某些可能的implementations。

当您说转向车轮时,您的描述实际上包括功能。

多态性表示许多表格。因此,在您的报价中,关于方向盘的多态性示例示例方向盘具有许多形式,如您的报价所述,但使用或输出是相同的。

现在,您的示例中的方向盘的简单存在不是多态性,因为简单的存在无法阐明此方法是否具有不同的形式。实际实现是确定方法是否为不同类型的方法或换句话说。