程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java的封裝功能

Java的封裝功能

編輯:關於JAVA

一般來說,程序員都力求軟件工程系統的高集成性。一個具有高集成性的軟件系統包含著各種執行獨立任務的成分,而每一個獨立任務都是整個系統的重要組成部分。相反,如果一個軟件系統的集成性差,那麼系統所包含的各種成分由於沒有很好的被定義而往往會容易發生沖突。

  在凝聚封裝過程中,重載是非常重要。在這一章節裡,我將討論一些啟發式知識,這些啟發式知識會提供生成具有高凝聚性,可重載的,基於Java.io的封裝。

  封裝啟發式知識 1:生成高集成性的封裝

  既然重載是類的重要特性,在實際開發過程中很少單獨對一個類進行重載。相反的,一般重載都是對多個類進行。Java.io封裝就是一個高集成性的成功范例。封裝中很少有類單獨地使用,通常都是同時使用多個類來達到預期的目的。

  對於高集成性的封裝,軟件維護和升級都很容易,因為它們提供了各種集成模塊,這些模塊中的類能提供各種功能齊全的函數。集成性差的封裝包含的類中的函數都是自成一體,相互獨立,這樣使用起來就會非常困難,因為你必須從其他類中提供接口,當然軟件的維護也會變得很困難,因為你在使用這樣的封裝時往往不得不更改其中的類。這樣的封裝結果對軟件的部署帶來很大的麻煩。

  封裝啟發式知識 2:注意封裝內容對重載的影響

  當設計封裝時,通常要注意考慮封裝中類的使用情況,除此之處,你也應該考慮到那些雖不是封裝的內容但經常與封裝有聯系的類。當完成一個高集成性的封裝後,你就可以把這一封裝看成是完整的,可重載的各種成分的集合。

  封裝啟發式知識 3:封裝過程中強調重載功能

  封裝是各個類的集合,其中的每一個類在程序中都執行一定的功能單元。這樣的封裝都剔除了很多特定的細節使各種功能單元變得更加容易使用。但是,為了更有效地使用這些封裝,開發人員必須深刻地理解封裝的函數功能和懂得如何與封裝進行通訊。

  封裝啟發式知識 4:以簡化方式設計封裝

  封裝中的函數比一個獨立類中的函數更簡化有效。提供這樣的服務也會產生軟件維護的挑戰,因為這需要封裝的用戶必須對封裝的內部函數功能有著清楚的了解。

  封裝啟發式知識 5:提供完整的封裝接口

  一個封裝的接口包括很多公用類及公用函數。工程中任一其他類都可以調用類中的公用函數,這樣一旦這一公用函數改變,調用這一函數的類也要作出相應的更改。如果程序比較簡單,可以很容易地找到哪裡調用這一函數。然而,如果在不同程序之間使用封裝,那麼問題就會變得很復雜。一個封裝的接口即是一些公用函數,這意味著它可以被第三者調用。所以封裝的接口必須需要很好的設計。

  因為一個封裝接口就是一些公用函數,所以開發人員在調用這些函數無需有過多的猶豫。

  關鍵的注意事項

  在設計封裝時必須注意以下幾條事項:

  發布接口——封裝的對外發布接口盡可能的簡單化,以便能方便地被第三方所調用。

  封裝的設計難易程度——這是在設計一個封裝必須要考慮的問題。高難度的封裝也會讓用戶無從下手。

  更大的單元——許多封裝的啟發式知識與JavaArchive (JAR)文件有關。在這一點上,類,封裝,JAR等級都存在高集成性。

  認真地去處理封裝

  封裝中的完整功能函數能方便你的程序設計,因為它減少了很多不必要的繁瑣。關鍵之處在於能設計出包含全部內容的高集成性的封裝。胡亂的封裝也會產生胡亂的結果,這就會產生軟件維護與發布的危機。在下一節中,我將講述啟發式知識的其他內容以幫助你設計出高凝聚的封裝。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved