A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨志罡 黑马帝   /  2011-7-21 16:35  /  3200 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在使用javabean时为什么要为成员变量设置set和get访问器,而不在是实例化对象后直接用 “对象名”.“成员变量”直接访问

5 个回复

倒序浏览
黑马网友  发表于 2011-7-21 18:14:08
沙发
JavaBeans里的成员变量都应该是private的,这是约定俗成的
回复 使用道具 举报
在面向对象里有一个原则"谁的数据谁操作",张老师在视频有常常提到的.
这样'强行'操作数据会有许多问题的,所以才private,用set get
回复 使用道具 举报
黑马网友  发表于 2011-7-21 18:28:55
板凳
我记得也可以是公有的吧!
只是这样不安全!
所以设置为私有的!
1.通过bean方法来改变变量的值比较安全,这样你可以很方便的知道这个值在什么地方被改变了。而且在改变的时候加上其他处理!
2.可以具有安全性和编码规范

3.体现了JAVA的封装的特点!
回复 使用道具 举报
黑马网友  发表于 2011-7-21 18:40:04
报纸
为了实现良好的封装性,我们通常将类的成员变量声明为private,再通过public的方法来对这个变量进行访问。
一个类通常就是一个小的模块,我们应该让模块仅仅公开必须要让外界知道的内容,而隐藏其它一切内容。我们在进行程序的详细设计时,应尽量避免一个模块直接修改或操作另一个模块的数据,模块设计追求强内聚(许多功能尽量在类的内部独立完成,不让外面干预),弱耦合(提供给外部尽量少的方法调用)。
类的封装所带来的优点
隐藏类的实现细节;
让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;
便于修改,增强代码的可维护性;
回复 使用道具 举报
黑马网友  发表于 2011-7-21 19:33:01
地板

回复 楼主 的帖子

有一个变量,setter和getter可以对这个变量进行操作,
符合这种结构的类才是JavaBean
否则就不是JavaBean了啊
set和get的名字就是属性
JavaBean主要是传递这些属性用的

JavaBean当作普通类时,如果成员变量不是私有的你才能用你的“对象名”.“成员变量”直接访问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马