在C#中,虛方法和抽象方法都是用來實現多態性的機制,但它們之間有一些區別。
override
來重寫虛方法,也可以選擇不重寫。public class BaseClass
{
public virtual void Method()
{
Console.WriteLine("Base class method");
}
}
public class DerivedClass : BaseClass
{
public override void Method()
{
Console.WriteLine("Derived class method");
}
}
abstract
來標記。public abstract class BaseClass
{
public abstract void Method();
}
public class DerivedClass : BaseClass
{
public override void Method()
{
Console.WriteLine("Derived class method");
}
}
總的來說,虛方法允許子類選擇性地重寫,而抽象方法強制子類必須實現。另外,一個類只能繼承一個抽象類,但可以繼承多個有虛方法的類。