抽象方法與虛方法

2022-08-02 03:33:08 字數 524 閱讀 8770

虛方法:使用virtual關鍵字

可以有方法的實現,子類在繼承虛方法的類時要可以重寫這個方法

虛函式僅適用於有繼承關係的類物件,所以只有類的成員函式才能說明為虛函式

靜態成員函式不能是虛函式(static不能用來修飾virtual)

建構函式不能是虛函式

析構函式可以是虛函式

抽象方法:使用abstract關鍵字

內聯函式不能是虛函式

如果乙個類中包害了抽象方法,那麼這個類就必須定義為抽象類,無論是否包含其他一般方法

抽象類的派生類或者子類必須覆蓋抽象類中的抽象方法

抽象類中的抽象方法沒有方法的實現

抽象方法和虛方法都可以供派生類重寫,他們之間的區別在於:

虛方法必須有實現部分,抽象方法沒有提供實現部分,抽象方法是一種強制派生類覆蓋的方法,否則派生類將不能被例項化。

抽象方法只能在抽象類中宣告,虛方法不是。起始如果類包含抽象方法,那麼該類也是抽象的,也必須宣告為抽象的。

抽象方法必須在派生類中重寫,這一點跟介面類似,虛方法不必

抽象方法與虛方法

在物件導向程式設計語言中抽象方法指一些只有方法宣告,沒有具體方法體的方法。抽象方法一般存在於抽象類或介面中。在c 中,抽象方法具有以下特性 抽象方法是隱式的virtual方法 只允許在抽象類中使用抽象方法宣告 因為抽象方法不提供實現,所以沒有方法體 方法宣告只是以乙個分號結束,並且在簽名後沒有大括號...

虛方法與抽象方法

虛方法 virtual,虛方法給父類提供了一種預設的實現,子類可以使用override重寫虛方法,虛方法不能出現在密封類 sealed 中。抽象類,不能被例項化,但可以例項化其子類的物件,抽象方法必須出現在抽象類中,抽象方法必須在子類中重寫。子類繼承抽象類,必須重寫抽象類中所有的抽象方法 除非子類也...

虛方法與抽象方法

虛方法 1 virtual方法表示此方法可以被重寫,也就是說這個方法具有多型.父類中的方法是通用方法,可以在子類中重寫以重新規定方法邏輯.2 virtual方法可以直接使用,和普通方法一樣 3 不是必須重寫的.子類可以使用base.方法 的方式呼叫,無論有沒有在子類使用override去重寫 vir...