對比介面 抽象類的區別

2021-10-05 23:33:28 字數 413 閱讀 3865

介面

抽象類在介面中僅能定義成員,但

不能有具體的實現。

抽象類除了抽象成員以外,

其他成員允許有具體的實現

。在介面中不能宣告字段,並且不能宣告任何私有成員,成員不能包含任何修飾符。

在抽象類中能宣告任意成員,並能使用任何修飾符來修飾。

介面能使用

類或者結構體

來繼承。

抽象類僅能使用類繼承。

在使用類來實現介面時,必須隱式或顯式地

實現介面中的所有成員,否則需要將實現類定義為

抽象類,並將介面中未實現的成員以抽象的方式實現。

在使用類來繼承抽象 類時允許實現全部或部分成員,但僅實現其中的部分成員,其實現類必須也定義為抽象類。

乙個介面允許繼承多個介面。

乙個類只能有乙個父類。

對比抽象類和介面

1 abstract關鍵字只能修飾類和方法,不能修飾字段。2 抽象類不能被例項化 通俗點講,不能被new 只能被繼承。3 抽象類可以包含屬性,方法,構造方法,初始化塊,內部類,列舉類,和普通類一樣,普通方法一定要實現,變數可以初始化或不初始化,但是不能初始化後再在抽象類中重新賦值或操作該變數 只能在...

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

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

介面與抽象類的對比

介面與抽象類的對比 定義 抽象類 無法具體描述事物時,使用抽象類。介面 擴充套件功能。定義格式 抽象類 abstract class 類名a 介面 inte ce 介面名b 使用場景 抽象類 主要用來抽象類別。介面 主要用來抽象功能。比如 子類除了需要重寫父類的abstract方法,還需要從父類繼承...