1. 程式人生 > >抽象類(abstract class)與介面(interface)的異同

抽象類(abstract class)與介面(interface)的異同

  • 介面被運用於比較常用的功能,便於日後的維護或者新增刪除方法;而抽象類更傾向於充當公共類的角色,不適用於對裡面的程式碼進行修改

      介面是一種特殊形式的抽象類,使用介面完全有可能實現與抽象類相同的操作。當子類和父類之間存在有邏輯上的層次結構時,推薦使用抽象類;當用於不同類之間,定義不同類之間的通訊規則,希望支援差別較大的兩個或者更多物件之間的特定互動行為時,應該使用介面。
    此外,介面可以繼承介面,抽象類可以實現介面,抽象類也可以繼承具體類。抽象類也可以有靜態的main方法。