来自oops的关于重载和多态的问题

时间:2010-08-24 06:24:48

标签: c#

大家可以告诉我为什么我们调用方法重载作为编译时多态和方法覆盖为运行时多态。

谢谢

2 个答案:

答案 0 :(得分:1)

编译时多态性中,参数决定调用哪个函数。所以它在编译时固定,其中运行时多态基于类的实例(对象) )决定调用哪种方法。对象在运行时实例化,因此它是运行时多态性。

答案 1 :(得分:0)

方法重载

根据参数列表,具有相同名称的函数表现出不同的行为。因此编译器完全知道基于参数列表调用哪种方法。

方法覆盖:

表示函数具有相同的名称&继承层次结构中的参数(虚拟和覆盖)。并且子类型中的方法完全改变了父类的行为。

因此,决定通过在运行时解析子类型来调用哪种方法。