閱讀870 返回首頁    go 技術社區[雲棲]


virtual 與 abstract 區別

在C#的學習中,容易混淆virtual方法和abstract方法的使用,現在來討論一下二者的區別。二者都牽涉到在派生類中與override的配合使用。

一、Virtual方法(虛方法)

     virtual 關鍵字用於在基類中修飾方法。virtual的使用會有兩種情況:

     情況1:在基類中定義了virtual方法,但在派生類中沒有重寫該虛方法。那麼在對派生類實例的調用中,該虛方法使用的是基類定義的方法。

     情況2:在基類中定義了virtual方法,然後在派生類中使用override重寫該方法。那麼在對派生類實例的調用中,該虛方法使用的是派生重寫的方法。

二、Abstract方法(抽象方法)

     abstract關鍵字隻能用在抽象類中修飾方法,並且沒有具體的實現。抽象方法的實現必須在派生類中使用override關鍵字來實現。

最後更新:2017-04-03 08:26:17

  上一篇:go ssh連接 反應慢的解決辦法
  下一篇:go 最短路徑-zoj-2797