Java基礎-繼承、抽象類、接口

    繼承和接口是OOP程序設計語言中非常重要的兩個概念,也是經常讓程序員對其使用比較混淆的。什麼時候用繼承好一些,什麼時候用接口好一些呢?

    首先,從OOP程序設計語言的多態特性來說兩者都是多態的一種體現。繼承更側重於給對象進行歸類(繼承體系)和接口則側重於對功能方法進行歸類。

    每個類都屬於特定的繼承體系,所有的類向上轉換最終只能轉成一個基類。繼承將"做什麼"和"怎麼做"耦合在一起,如果需要複用現有的方法必須將新增的類添加到現有的繼承體系中(或者採用包裝類)。

    接口則可以將"做什麼"和"怎麼做"分開,可以向上轉換成多個基類。

    抽象類是接口和類之間的一個緩衝,是程序設計過程中一個非常重要的工具。因爲我們總不可能總是全部用純接口。比如有個接口A,如果採用純接口方式。A1,A2,A3全部是A的實現類,如果A接口新增或修改任何舊的方法則都會影響到三個實現類,如果採用抽象類進行緩衝則可以先在抽象類中實現,然後A1,A2,A3按需覆蓋抽象類中的方法以此達到影響最小。

   

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