介面 抽象類 抽象方法 虛方法 的區別

2021-07-04 12:46:38 字數 490 閱讀 6486

首先說一下介面

與抽象類

的異同:

相同點:

1.他們都不能例項化自己,也就是說都是用來被繼承的。

2.抽象類中的抽象方法和介面方法一樣,都不能有方法體

不同點:

1.抽象類裡可以有欄位,介面中也可以有欄位.

2.抽象類中的普通方法可以有方法體,而介面方法沒有方法體。

3.介面中的方法不能有訪問修飾符,抽象類中的抽象方法被繼承,需要override重寫 .

4.介面更像是一種規範,一種約束。

5.乙個子類只能繼承乙個抽象類,但卻可以繼承多個介面。

抽象方法

和虛方法

的異同:

其實可以把抽象方法看做是沒有方法體的虛方法。

相同點:

1.抽象方法和虛方法都可以被重寫。

不同點:

1.abstract 和virtual的關鍵字不同

2.抽象方法一定沒有方法體,而虛方法可以有方法體。

介面 抽象類 抽象方法 虛方法 的區別

介面 抽象類 抽象方法 虛方法 的區別 介面 抽象類 抽象方法 虛方法 這四個名詞時非常容易混淆的 首先說一下介面 與抽象類 的異同 相同點 1.他們都不能例項化自己,也就是說都是用來被繼承的。2.抽象類中的抽象方法和介面方法一樣,都不能有方法體 不同點 1.抽象類裡可以有欄位,介面中不能有欄位.2...

虛方法,抽象類 ,介面

抽象類不能被例項化 只能宣告方法,不能實現,只能有他的 是乙個隱式的虛方法 抽象類裡的方法不能是私有的 如果抽象是私有的,那麼他的子類訪問不了它 在抽象方法中使用static和virtual修飾符是錯誤的 在靜態屬性中使用abstract是錯誤的 abstract方法只能在抽象類中宣告 而virtu...

抽象方法 抽象類 介面 介面和抽象類的區別

某個父類只知道子類因該包含什麼樣的方法,無法知道這些子類如何實現這些方法。抽象類包含該方法但沒有對該方法的具體實現。有抽象方法的類只能被定義為抽象類,抽象類裡可以沒有抽象方法。抽象方法和抽象類的規則 public abstract class shape private string color p...