public class Shapes
{
public virtual void Color()
{
Console.WriteLine("Shapes");
}
}
public class Square : Shapes
{
public void Color()
{
Console.WriteLine("Square");
}
}
public class Test
{
public static void main()
{
Shapes s1 = new Shapes();
s1.Color();
Shapes s2 = new Square();
s2.Color();
}
}
我想知道基類是否定義了一些虛擬的方法,那麼是否必須在派生類中重寫它們?同樣,如果基類方法是抽象的,我們需要在派生類中實現該方法,但是override修飾符是強制的嗎?如果忽略override修飾符會怎麼樣。在C#覆蓋修飾符是基類的虛擬/抽象方法的派生類中強制的
沒有覆蓋修飾符,你不能從OOP的多態性中受益 – gekowa