继承的虚方法 的困惑!

来源:互联网 发布:c4d下载 mac 编辑:程序博客网 时间:2024/06/05 04:48

MSDN2005 在 通用类型系统-->类型成员 的最后一部分写道:

继承,重写和隐藏成员

派生的类型继承其基本类型的所有成员;也就是说,这些成员是在派生类型之上定义的,并可用于派生类型。继承成员的行为和质量可以通过以下两种方式来修改:

  • 派生类型可通过使用相同的签名定义一个新成员,从而隐藏继承的成员。将先前的公共成员变成私有成员,或者为标记为 final 的继承方法定义新行为时,可以采取这种方法。

  • 派生类型可以重写继承的虚方法。重写方法提供了对方法的一种新定义,将根据运行时的值的类型,而不是编译时已知的变量类型来调用方法。只有当虚方法没有标记为 final 且新方法至少可以像虚方法一样进行访问的情况下,成员才能重写虚方法。

这里的 第二种方式即 重写继承的虚方法,看不明白。如何理解“将根据运行时的值的类型,而不是编译时已知的变量类型来调用方法”这句话?

原创粉丝点击