C# 虚方法virtual详解
原文中文,约3400字,阅读约需8分钟。
📝
内容提要
C#的虚方法(virtual)允许基类定义一个方法的默认实现,但允许派生类提供自己的实现。使用virtual关键字声明一个方法为虚方法,在派生类中使用override关键字重写基类中的虚方法。调用虚方法时,实际调用的方法取决于对象的运行时类型。可以使用base关键字调用基类的实现。如果不想允许进一步的派生类重写某个方法,可以使用sealed关键字。抽象类可以包含虚方法,但抽象类本身不能被实例化。除了方法,C#还允许属性和索引器是虚的。虚方法是实现多态性的一种方式。
❓
Q&A
C#中的虚方法是什么?
虚方法是基类定义的可以被派生类重写的方法,使用virtual关键字声明。
如何在派生类中重写基类的虚方法?
在派生类中使用override关键字重写基类的虚方法。
调用虚方法时,实际调用哪个方法?
调用虚方法时,实际调用的方法取决于对象的运行时类型。
如何防止派生类重写某个虚方法?
可以使用sealed关键字来防止进一步的派生类重写某个虚方法。
抽象类可以包含虚方法吗?
是的,抽象类可以包含虚方法,但抽象类本身不能被实例化。
C#中除了方法,哪些元素可以是虚的?
C#还允许属性和索引器是虚的。
🏷️