C# 类教程-多态性

作者:vkvi 来源:千一网络(原创) 日期:2015-4-2

一般我们指的多态性是指“运行时的多态性”,也就是在程序运行时,系统根据不同的对象确定调用对象所属类的相应方法的能力。

示例

运行结果是:

c-sharp多态性演示结果

我们可以看到,derivedClass 与 baseClass 类型不同,但是指向的都是 new DerivedClass():

  • 他们在调用 GetStringVirtual() 时,使用的都是派生类的。(多态性)
  • 他们在调用 GetString() 时,使用的是各自类型所在的方法。

从这里我们可以看出重写与隐藏的区别了。

再看一道多态的题:

大家可以猜一下结果是多少呢?

bb?dbb?dbdb?

结果是 dbdb。也就是说 base. 的时候,调用的是 base 的,但 this. 的时候并不是 this 的,而是根据多态规则是基类就是基类,是派生类就是派生类。

相关文章
文章评论