」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 專案透過其介面引用對象

專案透過其介面引用對象

發佈於2024-11-06
瀏覽:575

Item  Referencie os objetos através das interfaces deles

介面作為引用型別的偏好:
如果存在合適的接口,您應該透過它引用對象而不是具體的類別。
這適用於參數、傳回值、變數和欄位。

使用介面的彈性:
使用介面允許您更改實作而不影響程式碼。
範例:從 LinkedHashSet 變更為 HashSet 或 TreeSet,只需更改建構子即可。

何時不使用介面:
特定於實現的功能:
如果實作提供了介面不需要的東西(例如 LinkedHashSet 保證迭代順序,但 HashSet 不保證)。

沒有適當的介面:
某些類別(例如 String 或 BigInteger)沒有等效接口,必須直接使用。

基於類別的架構:
範例:java.io套件中的OutputStream是透過抽象類別引用的,而不是介面。

特定於實現的方法:
範例:PriorityQueue 實作了 Queue,但 Queue 中沒有 comparator() 方法。僅當您需要此額外方法時才使用該類別。

益處:
使用介面使程式更加靈活和模組化,使您可以輕鬆更改實現而不破壞現有程式碼。

代碼範例
很好的例子:使用介面作為類型

Set s = new LinkedHashSet();

壞例子:使用具體類別作為類型

LinkedHashSet s = new LinkedHashSet();

靈活性:更改實作而不影響程式碼

Set s = new TreeSet();

使用 String 等 Final 類別的範例

String str = "Hello";

使用框架基底類別的範例

OutputStream output = new FileOutputStream("file.txt");

版本聲明 本文轉載於:https://dev.to/giselecoder/item-64-referencie-os-objetos-atraves-das-interfaces-deles-4ln0?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3