什么是运行时多态和编译时多态?

5

有人能向我解释一下关于C#的运行时多态和编译时多态吗?

我在SO上找到了类似的问题,但它们是关于C++的。


3
这个问题如果附上你找到的相关问题的链接以及你对它们区别的最佳猜测,会更好一些。 - David Harkness
1个回答

3

以下是一篇对此问题有很好解释的网站:

http://www.dickbaldwin.com/csharp/Cs000120.htm

引述文章如下:

这种多态性常常被称为运行时多态性,原因是在运行时才能决定执行哪个方法版本,而不能像重载的方法一样在编译时做出决定。

不能在编译时做出决策,是因为编译器在编译程序时无法知道将存储在引用变量中的对象的实际类型。

在极端情况下,例如可能从编译器不知道的网络连接处获得对象。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接