抽象類和接口有什么異同 抽象類和接口有什么異同點


抽象類和接口有什么異同 抽象類和接口有什么異同點

文章插圖
抽象類和接口的區別:
1、抽象類要被子類繼承,接口要被類實現 。
2、接口只能做方法聲明,抽象類中可以作方法聲明,也可以做方法實現 。
【抽象類和接口有什么異同 抽象類和接口有什么異同點】
3、接口里定義的變量只能是公共的靜態的常量,抽象類中的變量是普通變量 。
4、接口是設計的結果,抽象類是重構的結果 。
5、抽象類和接口都是用來抽象具體對象的,但是接口的抽象級別最高 。
6、抽象類可以有具體的方法和屬性,接口只能有抽象方法和不可變常量 。
7、抽象類主要用來抽象類別,接口主要用來抽象功能 。
抽象類往往用來表征對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象 。通常在編程語句中用 abstract 修飾的類是抽象類 。在C++中,含有純虛擬函數的類稱為抽象類,它不能生成對象;在java中,含有抽象方法的類稱為抽象類,同樣不能生成對象 。抽象類是不完整的,它只能用作基類 。在面向對象方法中,抽象類主要用來進行類型隱藏和充當全局變量的角色 。