As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center作为指导。
                            
                        
                    
                
                                7年前关闭。
            
                    
我几乎是一名初级程序员,到目前为止,还没有遇到使用多态性的要求。

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

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

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

最佳答案

只要您有共同合同,多态性就很有用,但是行为因对象而异。例如,以无处不在的“工作”为例。您可能具有类似以下的界面:

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


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

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

10-08 14:24