面向對象(1)-虛方法與抽象方法

虛方法

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

 

抽象方法

        必須被派生類覆寫的方法。可以看成是沒有實現體的虛方法。如果類中包含抽象方法,那麼累就必須定義爲抽象類,不論是否還包含其它一般方法。abstract關鍵字只能用於通常的方法,不能用於靜態的方法。一起使用virtual和abstract是錯誤的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章