文章詳情頁
Java“Program to an interface”這是什么意思?
瀏覽:142日期:2024-05-07 15:06:16
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決Java“Program to an interface”這是什么意思??
簡而言之,而不是像這樣寫類
我依靠這個特定的班級來做我的工作
你寫的方式說
我依賴于任何類,做這個東西做我的工作。
第一個示例表示一個類,該類依賴于特定的具體實現來執行其工作。從本質上講,這不是很靈活。
第二個示例表示寫入接口的類。它不在乎您使用什么具體對象,而只是在意它實現某些行為。這可以使該類更加靈活,因為可以為它提供許多具體的實現來執行其工作。
例如,特定類可能需要執行一些日志記錄。如果您編寫依賴于TextFileLogger的類,則將永遠迫使該類將其日志記錄寫到文本文件中。如果要更改日志記錄的行為,則必須更改類本身。該類與它的記錄器緊密相連。
但是,如果您編寫該類以依賴ILogger接口,然后為該類提供TextFileLogger,則您將完成相同的操作,但是還具有更加靈活的優點。您可以隨意提供任何其他類型的ILogger,而無需更改類本身。現在,班級及其記錄器之間的聯系松散了,您的班級更加靈活。
解決方法我一直遇到這個名詞:
編程到接口。
這到底是什么意思?現實生活中的設計方案將受到高度贊賞。
標簽:
java
相關文章:
1. javascript - 在 model里定義的 引用表模型時,model為undefined。2. css3 - 這個右下角折角用css怎么畫出來?3. javascript - canvas 裁剪空白區域4. atom開始輸入!然后按tab只有空格出現沒有html格式出現5. css3 - 沒明白盒子的height隨width的變化這段css是怎樣實現的?6. java - 根據月份查詢多個表里的內容怎么實現好?7. apache - 想把之前寫的單機版 windows 軟件改成網絡版,讓每個用戶可以注冊并登錄。類似 qq 的登陸,怎么架設服務器呢?8. dockerfile - [docker build image失敗- npm install]9. python3.x - c++調用python310. android - 課程表點擊后浮動后邊透明可以左右滑動的界面是什么?
排行榜
