全域方法

      在〈全域方法〉中尚無留言

全域方法或變數, 可通行於所有類別物件之中. 這個方式, 有的人說很邪惡, 有的人說很懶墮, 也有人說不是正統的程式規範. 這些說法都正確, 但也表示這些人沒任何經驗.

當 class A物件化後要傳遞到 class B中, 使用傳參考是可以應付的. 但當class A要傳給B, 也要給C, 然後C又要調用A, 然後又要給X時, 這時候誰管你誰是誰. 不然Math這個類別是設計用來好玩的嗎??

為了通用於所有的類別, 本人以 class G為命名(General or God)

public class G{
    static Camera camera;
    static int [] textures;
    static Context context;
}

反正, 在G這個類別裏, 無論是方法或是變數, 全都是static. 這樣就可以讓任何的類別調用. 不過這些類別變數, 一般都還沒指定物件, 而是在其他時機中生成物件後, 才附著在這上面的.

那安全性呢!!! 若考慮安全的話, 那就最好使用預設權限. 因為如果使用private的話, 那其他類別根本就無法使用, 所以設這些方法變數就跟沒設是一樣的, 作白工. 而如果使用public的話, 那其他類別可以隨便更改, 導致容易被入侵破壞.

所以最安全的方式. 就是採用預設權限, 因為預設權限在相同package如同public , 不同package如同private, 因此沒有安全性的問題. 

那如果是要寫成SDK給其他廠商使用呢!! 那就可以採用比預設權限更寬一級的權限~~protected

總而言之, 在一個大型專案中, 為了可以通行於所有類別中的方法及變數, class G是一定要的

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *