- virtual 关键字用于修改方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。
- 例如,此方法可被任何继承它的类替代:public virtual double Area() { return x * y; }虚拟成员的实现可由派生类中的更改。
- 调用虚拟方法时,将为替代的成员检查该对象的运行时类型。 将调用大部分派生类中的该替代成员,如果没有派生类替代该成员,则它可能是原始成员。
- 默认情况下,方法是非虚拟的。 不能替代非虚方法。
virtual修饰符不能与static、abstract``private或override修饰符一起使用。 以下示例显示了虚拟属性:
![9]I]_B3O50~]}SAFS9U0C.png](p9-juejin.byteimg.com/tos-cn-i-k3…?)
除声明和调用语法不同外,虚拟属性的行为与虚拟方法相似。
- 在静态属性上使用
virtual修饰符是错误的。 - 通过包括使用
override修饰符的属性声明,可在派生类中替代虚拟继承属性。
作者:掘金大咖
链接:juejin.cn/post/704638…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。