2

我几乎是一名初级程序员,到目前为止,在我的经验中还没有遇到使用多态的要求。

我对多态性的基本理解是创建需要能够处理各种不同类型对象的东西。

我只是想知道是否有人可以提供一些体面的例子来说明您何时以及为什么会遇到这种情况。

对不起,如果我的问题看起来很愚蠢,我只是一个学习者。

4

1 回答 1

3

多态性在你有一个共同的契约时很有用,但行为因对象而异。例如,以无处不在的“工作”为例。您可能有一个类似的界面:

public interface IJob {
    void Execute(JobContext context);
}

然后实现遵守此合同的各种作业,例如 DataPollingJob、MaintenanceJob、EmailJob、BalanceJob 等。无论运行什么作业,都不必知道实现是做什么或如何做的,但知道它可以Execute使用上下文调用以使该作业执行其功能。

多态性有用的另一个常见场景是消息传递。您可能有许多不同类型的消息,但它们都将遵守一些消息基础设施理解的基本合同。

于 2012-12-11T14:56:20.550 回答