Java 程序中成員函數(shù)的可見性
發(fā)表時(shí)間:2024-02-16 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Java 成員函數(shù)的可見性定義 Java 對象對其進(jìn)行訪問的級別。以我的經(jīng)驗(yàn)而言,可見性的選擇是一個(gè)重要的設(shè)計(jì)決定,也是一個(gè)重要的執(zhí)行決定,因?yàn)樗菧p少系統(tǒng)內(nèi)耦合的一種方法。本周的主題改編自 The Object Primer 2nd Edition 的第 7 章和第 8 章。從設(shè)計(jì)的角度看,注意...
Java 成員函數(shù)的可見性定義 Java 對象對其進(jìn)行訪問的級別。以我的經(jīng)驗(yàn)而言,可見性的選擇是一個(gè)重要的設(shè)計(jì)決定,也是一個(gè)重要的執(zhí)行決定,因?yàn)樗菧p少系統(tǒng)內(nèi)耦合的一種方法。本周的主題改編自 The Object Primer 2nd Edition 的第 7 章和第 8 章。
從設(shè)計(jì)的角度看,注意到“統(tǒng)一建模語言 (UML)”提供三個(gè)可見性級別:
公共、
受保護(hù)和
專用是非常重要的,表 1 中對這三種可見性進(jìn)行了說明。對于程序員,知道 Java 編程語言支持這三種可見性并添加了第四種:
缺省是有好處的。表 1 描述了 Java 編程語言支持的每種可見性,指出了相應(yīng)的 UML 符號、當(dāng)聲明成員函數(shù)時(shí)將應(yīng)用的 Java 關(guān)鍵字、每種可見性含義的描述以及我對有效應(yīng)用每種可見性的建議。清單 1 描述了如何在 UML 中聲明一個(gè)成員函數(shù);注意:如何用“+”符號表明可見性。清單 2 演示了如何在 Java 代碼中聲明相同的成員函數(shù);注意:在它的簽名中使用關(guān)鍵字 public。
在設(shè)置方法的可見性時(shí),我的宗旨是盡可能地進(jìn)行限制。換句話說,如果方法并不一定要是公共的話,那么使它成為受保護(hù)的。如果它不必是受保護(hù)的,那么使它成為專用的。最后,僅當(dāng)您要使用缺省可見性時(shí)才使用它,并且在應(yīng)用它的原因不是很明了的情況下,在方法頭文檔中記錄下應(yīng)用該可見性的原因。您可能需要參考提示:編制 Java 成員函數(shù)文檔。在該提示中,我們討論了成員函數(shù)文檔。
表 1. Java 成員函數(shù)的可見性