# Abstract Class vs Interface Abstract Class:特殊的類,不能被實例化,只能被繼承,可提供屬性、預設實作 Interface:不是類,沒有實作,只提供名稱 ## 總結 多版本元件,可以建立抽象類別,更新基類,所有繼承類都會隨著變更自動更新。另一方面,介面一旦創建就無法更改。如果需要新版本的接口,您必須建立一個全新的接口。 功能對不同的物件都很有用,使用介面。抽象類用於密切相關的對象,而介面最適合為不相關的類別提供通用功能。 小而簡潔,使用介面。大型功能單元,抽象類。 ## ref [Why we use abstract class and interface ? Difference between Class, Abstarct Class and Interface](https://stackoverflow.com/questions/36975305/why-we-use-abstract-class-and-interface-difference-between-class-abstarct-cla)