總結面向介面程式設計

2021-08-25 12:57:02 字數 837 閱讀 9778

此處的"介面"與程式語言中的"inte***ce"定義稍有不同,「面向介面程式設計」中的介面是一種思想層面的用於實現多型性、提高軟體靈活性和可維護性的架構部件,而具體語言中的「介面」是將這種思想中的部件具體實施到**裡的手段。

優點:1.可擴充套件性良好.例子:

public inte***ce hardware

public class videocard implements hardware

}public class audiocard implements hardware

}public static starthardware(hardware hardware)

public void main(string args)

解析:starthardware()方法中的引數型別是hardware,這樣如果要對其他hardware呼叫starthardware(),就無需對main()方法和starthardware()做任何修改,只需要修改引數,這就是良好的可擴充套件性,也符合開閉原則.

例如.新新增乙個硬體

public class networkcard implements hardware

}在main()中只需修改引數 starthardware(new networkcard()) 即可

2.支援多繼承.

假如有兩個特性

public inte***ce fly

public inte***ce run

有乙個類

public monster implements fly, run

這樣他就同時擁有了fly和run,而用抽象類則無法做到,因為抽象類只支援單繼承

面向介面程式設計

面向介面程式設計 英文的定義是 program to an inte ce,not an implementation 它是物件導向程式設計裡面的乙個設計原則。所謂原則,就是 你最好按我的樣子來做,實在不行也可以違反 物件導向程式設計有三個主要的特性,即是封裝,多型,繼承。面向介面程式設計是多型特性...

面向介面程式設計

物件導向設計裡有一點大家已基本形成共識,就是面向介面程式設計,我想大多數人對這個是沒有什麼覺得需要懷疑的。問題是在實際的專案開發中我們是怎麼體現的呢?難道就是每乙個實現都提供乙個介面就了事了?反過來說,你有時候有沒有覺得介面是多餘的事?又或者,你僅僅是覺得現在類似spring這樣的框架已習慣用介面這...

面向介面程式設計

上篇我們了解了當依賴注入與面向介面程式設計結合起來,才能真正發揮依賴注入的優勢。這篇我們開始簡單了解一下面向介面程式設計。什麼是面向介面程式設計?乙個類依賴其他類的目的是為了獲取其他類所提供的服務,可能這種服務有多種實現,我們可能需要根據不同的場景使用不同的實現。此時,我們可以使用多型,將同一功能的...