開心生活站

位置:首頁 > IT科技 > 

抽象類和接口有什麼異同

IT科技1.43W

抽象類和接口的區別:

抽象類和接口有什麼異同

1、抽象類要被子類繼承,接口要被類實現。

2、接口只能做方法聲明,抽象類中可以作方法聲明,也可以做方法實現。

3、接口裏定義的變量只能是公共的靜態的常量,抽象類中的變量是普通變量。

4、接口是設計的結果,抽象類是重構的結果。

5、抽象類和接口都是用來抽象具體對象的,但是接口的抽象級別最高。

6、抽象類可以有具體的方法和屬性,接口只能有抽象方法和不可變常量。

7、抽象類主要用來抽象類別,接口主要用來抽象功能。

抽象類往往用來表徵對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。通常在編程語句中用 abstract 修飾的類是抽象類。在C++中,含有純虛擬函數的類稱爲抽象類,它不能生成對象;在java中,含有抽象方法的類稱爲抽象類,同樣不能生成對象。抽象類是不完整的,它只能用作基類。在面向對象方法中,抽象類主要用來進行類型隱藏和充當全局變量的角色。