使類和成員的可訪問性最小化

2022-02-23 15:07:41 字數 493 閱讀 3379

規則1:盡可能的使得每個類或者成員不被外界訪問。

頂層的類或者介面,只能是包級私有的或者共有的,如果可能,應該是他們盡可能的包級私有。這樣當你更新**的時候不會影響到它的使用者。否則就需要永遠支援它。

如果乙個類只是在某乙個類中被使用,應該考慮將它做成私有巢狀類。

成員的控制方法

private:私有的,只有類本身能夠訪問

預設的:包內訪問

protected:子類訪問和包內訪問

public:公共訪問

注意:受保護的成員是類的匯出的api的一部分,應該永遠被支援。

例項域絕對不能是共有的。包含共有可變域的類並不是執行緒安全的。

注意:陣列總是可變的,即使是私有的。看下面的示例:

public class test1

}class t;

protected int n=0;

public int getnums()

}結果為:

1 3 3

使類和成員的可訪問性最小化

要區別設計良好的模組與設計不好的模組,最重要的因素在於,這個模組對於外部的其他模組而言,是否隱藏其內部資料和其他實現細節。設計良好的模組會隱藏所有的實現細節,把它的api與它的實現清晰的隔離開來。然後,模組之間只通過它們的api進行通訊,乙個模組不需要 知道其他模組的內部工作情況。這被稱為資訊隱藏或...

使類和成員的可訪問性最小化

規則1 盡可能的使得每個類或者成員不被外界訪問。頂層的類或者介面,只能是包級私有的或者共有的,如果可能,應該是他們盡可能的包級私有。這樣當你更新 的時候不會影響到它的使用者。否則就需要永遠支援它。如果乙個類只是在某乙個類中被使用,應該考慮將它做成私有巢狀類。成員的控制方法 private 私有的,只...

使類和成員的可訪問性最小化

將設計良好的元件與設計不佳的元件區分開來的最重要的因素是,隱藏內部資料和其他實現細節的 程度。乙個設計良好的元件隱藏了它的所有實現細節,乾淨地將它的 api 與它的實現分離開來。然後,元件只通過它們的 api 進行通訊,並且對彼此的內部工作一無所知。這一概念,被稱為資訊隱藏或封 裝,是軟體設計的基本...