C 抽象方法 虛方法 介面

2021-09-10 17:35:20 字數 712 閱讀 1973

抽象方法和虛方法都可以寫在抽象類中,它們有什麼區別呢? ,接下來就讓我帶你分析一下吧。

一、virtual方法(虛方法)

virtual 關鍵字用於在基類中修飾方法,它有兩種情況:

(1)在基類中定義virtual方法,但在派生類中沒有重寫該虛方法。那麼在堆派生類例項呼叫中,該虛方法使用的是基類定義的方法。

(2)在基類中定義了virtual方法,然後再派生類中使用override重寫該方法,那麼在對派生類例項的呼叫中,該虛方法使用的是派生重寫的方法。

二、abstract方法(抽象方法)

abstract關鍵字只能用在抽象類中修飾方法,並且沒有具體的實現。抽象方法的實現必須在派生類中使用override關鍵字來實現。請務必將抽象方法放在抽象類中。派生類必須全部實現父類的方法。

總結一下抽象方法和虛方法:抽象方法只能宣告再抽象類中並且沒有方法體,而且子類必須用override重寫。

虛方法使用有兩種:一種是可以重寫在子類,第二種是可以不重寫,如果不重寫則直接呼叫父類。重寫呼叫子類的。

三、inte***ce:接**已經在抽象類和介面的區別裡面說了。

抽象類和介面的區別

JAVASE抽象方法,介面

一抽象類 1抽象類的產生 當編寫乙個類時,我們往往會為該類定義一些方法,這些方法是用來描述該類的功能具體實現方式,那麼這些方法都有具體的方法體。但是有的時候,某個父類只是知道子類應該包含怎麼樣的方法,但是無法準確知道子類如何實現這些方法。比如乙個圖形類應該有乙個求周長的方法,但是不同的圖形求周長的演...

繼承 抽象方法 介面

一 好處 繼承的本質在於抽象。類是對物件的抽象,繼承是對某一批類的抽象。為了提高 的復用性,子類可以呼叫父類的方法和屬性。public class animal class bird extends animal二 乙個子類只能繼承乙個父類,但介面可以繼承多個父介面。三 super 是直接父類物件的...

抽象類 虛方法 介面的區別

1.介面只提供方法規約,不提供方法體 2.介面中的方法不能用關鍵字修飾 3.介面裡不能有介面和變數 4.介面裡的方法在子類中必須全部實現 5.介面可以實現多重繼承 1.抽象類可以從介面繼承 2.抽象類中的實體方法在子類中不可以重寫,只可以被引用 3.抽象類中的抽象方法不可以有方法體,抽象類中的抽象方...