note 抽象類和介面的相同點和不同點

2022-01-30 15:42:44 字數 471 閱讀 4364

今天偶爾看到以前的筆記,所謂溫故而知新所以記錄一下,以便以後查閱。

抽象類和介面的相同點和不同點

相同點:

1.都不能被直接例項化,都可以通過繼承實現其抽象方法

2.都是物件導向的技術基礎,實現了諸多設計模式

不同點:

1.介面支援多繼承,抽象類不能實現多繼承。

2.介面只能定義抽象規則,抽象類即可以定義抽象規則還可以提供已實現的方法。(即:介面只能定義虛擬方法,而抽象類即可定義虛擬方法,還可提供實方法。)

3.介面是一組行為規範,抽象類是乙個不完整的類(著重族的概念)。

4.介面可以支援**,抽象類不能實現**因為繼承不支援--這裡還不太理解

5.介面只包含方法、屬性、索引器、事件的簽名,但不能定義欄位和包含實現的方法;抽象類可以定義字段、屬性,包含實現的方法。

6.介面可以用於值型別和引用型別;抽象類只能作用於引用型別。例sturct就可以繼承介面而不能繼承類

抽象類和介面的相同點和不同點

抽象類和介面 相同點 都不能被例項化,位於繼承樹的頂端,都包含抽象方法 不同點 1 設計目的 介面體現的一種規範,類似與整個系統的總綱,制訂了系統各模組應該遵循的標準,因此介面不應該經常改變,一旦改變對整個系統是輻射性的。抽象類作為多個子類的共同父類,體現的是一種模板式設計,可以當作系統實現過程中的...

抽象類和介面的相同點和不同點,學習筆記

抽象類和介面的相同點 1.都不能被例項化 2.介面的實現類或抽象類的子類都只有實現了介面或抽象類中的方法後才能被例項化 不同點 1.介面只有定義,其方法不能再介面中實現,只有實現介面的類才能實現介面中定義的方 法,而抽象類的方法可以再抽象類中被實現。2.介面需要用implements實現,抽象類只能...

抽象類介面區別和相同點

介面和抽象類都不能例項化 抽象類可以有構造方法,介面中不能有構造方法。抽象類中可以有普通成員變數,介面中沒有普通成員變數 抽象類中可以包含非抽象的普通方法 抽象類中的抽象方法的訪問型別可以是public,protected,但介面中的抽象方法只能是public型別的,並且預設即為public abs...