我正在看堆棧溢出問題What is the difference between abstract function and virtual function?,我想知道每個抽象函數是否應該被認爲是C#中的虛函數還是一般?在C#中,每個抽象函數都是虛擬的嗎?
我對「你必須重寫/你可能會忽略」對這個問題的回答有些困惑。不是C#程序員,我傾向於認爲抽象函數只是一個編譯時概念,而抽象函數是定義的虛函數,因爲您必須至少提供一個,但可以在層次結構的更下方提供多個實現。
虛擬函數也具有編譯時間維度,因爲您不能覆蓋非虛函數,但它們大多是運行時概念,因爲它只是基於實際的接收器選擇了正確的方法實現。
你不能得到比拉出C#規範更好的答案。 :) – Quibblesome 2008-12-24 15:28:23