加解密
產品
備註
部落格
英文單字
文章檢視頁
類別
資訊
標題
抽象類別、虛擬類別、介面的差別
abstract、interface有什么區別
相同點:都不能被實體化,都必須通過繼承來實作其抽象方法,
不同點:介面支持多繼承,抽象類不能實作多繼承;
介面只包含方法、屬性、索引器、事件的簽名,但不能定義欄位和包含它們的實作;抽象類可以定義欄位、屬性、包含有實作的方法,
介面可以作用于值型別和參考型別;抽象類只能作用于參考型別,例如,Struct就可以繼承介面,而不能繼承類,
介面
1.介面只能宣告,不能實作,且只能為公開(public)。 *預設就是公開所以不用特別加上public
2.介面可以繼承介面
3.介面不可以繼承類別
4.可以同時繼承多個介面
5.繼承介面的類別必須實作介面所有的屬性與方法。
抽象 :
1.抽象類別不能實作。因為設計邏輯上屬於一個未完整的類別。
2.抽象類別中可以定義抽象方法但不能實作且必須為公開(public)。因為這部份是要開放給子類別複寫的。
3.抽象類別可以繼承抽象類別,但是一樣不能實作抽象方法
4.繼承抽象類別的子類必須複寫父類的的抽象方法
返回