抽象類和接口的區別

一、表象形態上:

  1. 抽象類可以給出一些方法的實現,接口卻不可以;
  2. 抽象類的抽象方法可以被子類部分實現,接口卻必須全部實現;
  3. 一個類只能繼承一個抽象類,但卻可以實現多個接口。

二、設計思想上:

  1. 類是對對象的抽象,抽象類是對類的抽象;接口是對方法(類中的部分方法)的抽象;
  2. 如果方法跨域不同類的對象,可以使用接口;對於一些相似的類對象,用繼承抽象類;
  3. 從設計角度上說,抽象類是從子類中發現了公共的東西,泛化出父類,然後子類繼承父類;而接口根本不知道子類的存在,方法如何實現還不確認,預先定義方法。
  4. 抽象類基本是自底向上抽象出來的,而接口是自頂向下設計出來的。

 

參考:《大話設計模式》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章