Try   HackMD

Abstract Class vs Interface

Abstract Class:特殊的類,不能被實例化,只能被繼承,可提供屬性、預設實作

Interface:不是類,沒有實作,只提供名稱

總結

多版本元件,可以建立抽象類別,更新基類,所有繼承類都會隨著變更自動更新。另一方面,介面一旦創建就無法更改。如果需要新版本的接口,您必須建立一個全新的接口。

功能對不同的物件都很有用,使用介面。抽象類用於密切相關的對象,而介面最適合為不相關的類別提供通用功能。

小而簡潔,使用介面。大型功能單元,抽象類。

ref

Why we use abstract class and interface ? Difference between Class, Abstarct Class and Interface