2013-10-07 65 views
-1

只是爲了闡明將類字段設置爲私有,然後設置公共集合並獲取方法來更改值並獲取它們(打印它們等)是一種很好的做法? JUST所以我知道,我在我的書中讀到,將我的領域公諸於衆可能是一種不好的做法...設置並獲取方法

回答

0

你有getter和setter的原因是,你可以將邏輯引入他們在未來。

如果你的代碼已經使用了getters和setter,而不是直接訪問這些字段,那麼比把邏輯放入你的getters/setter不會破壞其他使用你的代碼的程序。

例如,你可以改變

private i 

public set_i(int x) 
{ 
    i = x; 
} 

private i 

public set_i(int x) 
{ 
    if(x < 0) 
     i = 0; 
    else 
     i = x; 
} 
0

總之,。這將消費者從稍後的變化中隔離出來。起初感覺像是一種阻力,但它只是一小部分樣板工作。它保持get/set範式在實際做一些不重要的方法中保持一致。

0

如果你不會實現或添加到當前的Set或Get普通方法,只是不要使用它們並使用public,而是用於其他用途,如自定義實現另一個行爲或功能使用它們。

0

如果你問爲什麼它是很好的使用getter和setter方法,我以爲你是,這是很好的一對夫婦的原因:

  • 你可以存儲的邏輯在其中可以通過多種使用類。
  • 該變量可以只讀或只寫(提高代碼的安全性)。
+0

它可以使調試更容易,因爲您可以輕鬆檢查變量的設置位置。 –