在C#中,虚方法和重写方法(override)都是用来实现多态性的概念,但它们之间有一些重要的区别:
public class BaseClass { public virtual void Method() { Console.WriteLine("Base method"); } } public class DerivedClass : BaseClass { public override void Method() { Console.WriteLine("Derived method"); } } public class DerivedClass : BaseClass { public override void Method() { base.Method(); // 调用基类中的方法 Console.WriteLine("Derived method"); } } 因此,与虚方法相比,重写方法必须在派生类中重新实现基类中的虚方法,而虚方法可以在基类中有默认实现。