抽象類與接口的區別

1、抽象類用abstract定義,抽象類不能被實例化,抽象類中可以包含方法的定義,也可以包含方法的實現;

接口用interface定義,接口不能被實例化,接口中只可以包含常量的定義和方法的定義。接口也是一種特殊的抽象類。


2、使用方式的不同

      抽象類通過繼承方式(extends)使用,一個子類只能繼承一個抽象類,在子類中需要實現抽象類中的所有抽象方法;

     接口通過實現方式(implements)使用,一個子類可以實現多個接口,在實現類中需要將接口中的所有方法實現(否則,要定義成抽象類)。


3、設計理念不同

      抽象類表示“is a”的關係;接口表示“like a”的關係。


4、優先使用接口;多用組合,少用繼承。

發佈了26 篇原創文章 · 獲贊 9 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章