有人能向我解释一下关于C#的运行时多态和编译时多态吗?
我在SO上找到了类似的问题,但它们是关于C++的。
有人能向我解释一下关于C#的运行时多态和编译时多态吗?
我在SO上找到了类似的问题,但它们是关于C++的。
以下是一篇对此问题有很好解释的网站:
http://www.dickbaldwin.com/csharp/Cs000120.htm
引述文章如下:
这种多态性常常被称为运行时多态性,原因是在运行时才能决定执行哪个方法版本,而不能像重载的方法一样在编译时做出决定。
不能在编译时做出决策,是因为编译器在编译程序时无法知道将存储在引用变量中的对象的实际类型。
在极端情况下,例如可能从编译器不知道的网络连接处获得对象。