黑马程序员技术交流社区

标题: 关于类中属性的get() set()方法太多,怎么解决? [打印本页]

作者: mengxiang1993    时间: 2015-2-4 12:36
标题: 关于类中属性的get() set()方法太多,怎么解决?
   如果一个类中有十几个属性,且都必须是私有的,而且要提供访问的公共方法,要写那么多get set方法,代码实在太乱,大家有什么好的方法可以借鉴吗?

作者: 从未离开过    时间: 2015-2-4 13:42
可不可以基于模板或多态,按名访问
BOOL Set(const char* dataname, data) ;
作者: Gonnaloveu    时间: 2015-2-4 14:22
你如果用记事本的话只能一个个打,快点复制粘贴,如果你要用eclipse的话有快捷键或者点鼠标右键都有选项,快捷键可以自己设置具体百度,默认是 ALT+Shift+S 不但能生成get和set,其他的如构造函数什么的也能快捷生成
作者: 赵耿    时间: 2015-2-4 14:45
如果你是在初级练习的话,我想没必要写那么多属性吧,如果实在有必要需求的话,我想,你应该换高级工具了,eclipse或者Myeclipse可以自动生成那些代码的哦。
作者: 大奔    时间: 2015-2-4 15:03
Gonnaloveu 发表于 2015-2-4 14:22
你如果用记事本的话只能一个个打,快点复制粘贴,如果你要用eclipse的话有快捷键或者点鼠标右键都有选项,快捷 ...

同意楼主观点,用eclipse的快捷键会方便些
作者: 大奔    时间: 2015-2-4 15:05
你如果用记事本的话只能一个个打,快点复制粘贴,如果你要用eclipse的话有快捷键或者点鼠标右键都有选项,快捷键可以自己设置具体百度,默认是 ALT+Shift+S 不但能生成get和set,其他的如构造函数什么的也能快捷生成

作者: mengxiang1993    时间: 2015-2-4 15:55
赵耿 发表于 2015-2-4 14:45
如果你是在初级练习的话,我想没必要写那么多属性吧,如果实在有必要需求的话,我想,你应该换高级工具了, ...

不是为了快捷,我用的就是Eclipse ,你们不觉得几十个get set,代码看起来很臃肿吗
作者: huangchunwei    时间: 2015-2-4 16:26
如果私有属性多了,看着确实挺乱的,能通过它的方法名看出是什么属性就行。初级刚接触的毕竟类中的属性不是太多。:handshake共同努力。
作者: 邓士林    时间: 2015-2-4 16:28
看了楼上各位的意见,大家的建议基本都是采用比较好的编译器Eclipse,确实一个好的编译器很大程度长能提高一些常用代码的生成,提高开发效率,代码的书写速度。楼主说那么多set和get,确实对private成员变量是必须的,但是我们有没有考虑过成员变量的用途。
并不是所有的私有成员变量都需要set和get,有些属性是只读或只写。只需要写一个就行了,比如一个人的性别,这种,不是经常改变的,我们完全可以定义成只读,赋值只需在建立对象的时候,以为即使改变,一个人的性别不能从男人改为女人吧!等把这些考虑清楚了,代码的简洁性应该提高不少吧!

作者: lwj123    时间: 2015-2-4 16:34
在javaweb的实体类也就是domain都是要封装的,都要对每个属性提供setter和getter方法,没什么乱的,写多了就习惯了,而且编辑器自动生成的,根本不用手工打的
作者: 田得聖老师    时间: 2015-2-4 19:39
在eclipse里有快捷键的   选中需要生成set get方法的成员变量,然后shift+alt+s
作者: 田得聖老师    时间: 2015-2-4 19:41
有快捷键的 ,不需要敲那么多代码
在eclipse里面,选中需要get set方法的成员变量
然后shift+alt+s    选择Generate Getters and Setters
弹出的窗口可以选择需要创建get set方法的成员变量
选中后点击OK就可以自动生成了
作者: janstk    时间: 2015-2-4 19:53
eclipse 右键 source 可以直接生成。
作者: 俺做android开发    时间: 2015-2-4 20:32
用Eclipse自动生成好了
作者: cly成子    时间: 2015-2-4 20:51
一个类中定义太属性,说明设计就不大合理!且也不是都用这两个方法来获取的吧!建议重新设计框架!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2