C#中介面和抽象類的區別是什麼?
介面定義屬性、方法和事件,這些都是介面的成員。介面只包含成員的宣告。派生類負責定義這些成員。
抽象類在某種程度上也實現了同樣的目的,但是它們主要用於基類只需要宣告少量方法,而派生類實現其功能的情況。
以下是一些區別:
一個類可以繼承多個介面,而一個類只能繼承一個抽象類。
不能使用抽象類實現多重繼承,而使用介面可以實現多重繼承。
介面中不能定義欄位,而抽象類中可以定義欄位。
介面沒有 public、private、protected、internal 等訪問修飾符,因為在介面中所有內容預設都是 public 的。
廣告