我想知道,當我編寫一個類時,我應該使用getters和setter來訪問其他實例變量(或者只是通過名稱來調用它們)。我認爲這會產生不必要的噪音,但我想聽聽你們對此有何評論。我應該使用getX()來獲得一個變量X嗎?即使我在課堂上「內部」?
1
A
回答
1
該類內部的代碼可以始終訪問私有成員,而無需使用該集合並獲取清楚的方法,即它是自己的成員。只是我2美分。
您也可以考慮:http://codenaut.blogspot.com/2012/09/how-to-avoid-getter-and-setter-methods.html
0
獲取者/設置者的主要目的是將你的類的用戶與你的類實現的變化分開。你在你的類實現中。儘管如此,我仍然建議使用getters/setter,直到您明確需要直接訪問變量。
2
它可能會有所幫助使用的getter/setter如果他們真的這樣做驗證和訪問這個變量,你需要在每次做這些事情。我想到的第一個例子是,如果你使用多線程,並且在設置新值之前,你想確保沒有其他人同時訪問這個變量。否則,如果getter/setter什麼也不做,得到並設置變量,我沒有看到任何好處。
相關問題
- 1. 我應該在課堂上使用哪種「使用」課程?
- 2. 我應該在課堂內部還是外部散列密碼?
- 3. 我應該在課堂中包裝我的課堂自定義例外嗎?
- 4. 我怎麼能在課堂上得到變量
- 5. 你應該能夠在課堂上定義一個朋友嗎?
- 6. 在Ruby中。我如何從課堂內部自我定義中提到課堂?
- 7. 在課堂上製作一個外部類變量
- 8. 我可以在課堂上使用相同的mapedBy名稱嗎?
- 9. 如果我在課堂上定義了某些東西,我該如何在課堂內調用?
- 10. 我應該使用全局變量嗎?
- 11. 在課堂上使用boost內存池
- 12. PHP常量在課堂內設置,但我需要現在在課堂外改變它,這可以做到嗎?
- 13. 在課堂上使用pygame.Surface.blit
- 14. 我該如何醃製一堂課?
- 15. 在課堂教學中使用自我
- 16. 如何在我的主課堂中使用我的第二堂課?
- 17. 爲什麼我不能在我的課堂上使用foreach?
- 18. 我不應該在getter和setter中使用變量變量嗎?
- 19. 我應該在JavaScript上使用參數變量嗎?
- 20. 在我的課堂上使用未分配的本地變量(c#,silverlight)
- 21. 我的課堂如何表現得像一個靜態課程?
- 22. 在錫蘭,我如何從課堂上獲得Class對象?
- 23. 我應該在變量中使用弱自我嗎?
- 24. 無法在課堂上獲得功能
- 25. 移動局部變量時我應該使用std :: move嗎?
- 26. 沒有在課堂上設置變量
- 27. 包括在課堂上PHP和使用變量從包括
- 28. 我可以在課堂上修改我的DOM嗎?
- 29. 即使我使用變量獲得null錯誤
- 30. 返回一行,即使我真的不應該得到一個