有句話說「能写private的,绝对不写protected,能写protected的,绝对不写public」
get()方法除了取值,還可以做一些其它事,
1.權限控制。取值之前先判斷權限。如果權限有問題則不給值。
2.回傳指定格式的內容。根據 get() 傳入的參數,回傳不同格式的內容。例如各種不同格式的日期
3.GS可以很方便的知道你的私有变量在哪里被用到了ctrl+alt+h (Open Call Hierarchy)
为什么J2EE大家都写getter/setter?
「getter/setter方法是一个好习惯,至少我是感觉到它们的好处了。。这种方式在使用继承重写的时候会方便很多,扩展和灵活性都会高很多很多」
「小的项目,不需要后续维护的项目你想怎么写都行。但是等你维护历史遗留的项目,或者做二次开发时,你就会体会出这些原则性的东西的重要性。」
「setter/getter是JavaBean的规范,不一定适合所有的场所。
用第三方框架的时候还是用setter/getter的好,像楼主的这种情况直接访问成员就好了,而不是直接setter/getter不好,然后所有的场所都否定setter/getter。
有的时候数据封装是必须的,但是有的时候封装了会觉得很麻烦,没必要。
一切绝对的说法都不对,因情况而定。」
「google官方文档上明确写的不要用get set 这样会比直接调用慢的多」
沒有留言:
張貼留言