虛方法
虛擬方法是指在即類中聲明爲virtual,又在一個或多個派生類中重新定義的方法。當派生類重新定義虛擬方法是,就要使用override關鍵字。虛擬方法不能被定義爲static或abstract。方法重載形成了C#的一個重要概念:動態方法分配(dynamic mothod dispatch)。動態方法分配是一種在程序運行時,而不是在編譯時調用重載函數的機制。動態方法分配概念非常重要,因爲運行期多態是靠它實現的。
覆寫(override)方法不是必須的,如果派生類沒有提供覆寫(override)虛擬方法,那麼基類的方法就會被應用。
抽象方法
必須被派生類覆寫的方法。可以看成是沒有實現體的虛方法。如果類中包含抽象方法,那麼累就必須定義爲抽象類,不論是否還包含其它一般方法。abstract關鍵字只能用於通常的方法,不能用於靜態的方法。一起使用virtual和abstract是錯誤的。