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