黑马程序员技术交流社区

标题: 类里面为什么不能直接给字段赋值? [打印本页]

作者: 张亚鑫    时间: 2012-12-23 12:57
标题: 类里面为什么不能直接给字段赋值?
类里面为什么不能直接给字段赋值?
作者: 王继光    时间: 2012-12-23 14:23
在类里,我们一般把用于与外界交互的字段定义成属性。 在属性里 有 get 和 set方法,用于对字段进行 取值和赋值。 这样在 get 和 set、方法里 ,可以很方便根据我们的需求 对不符合要求的数据进行控制。 同时也提高了安全性
作者: dqzg12300    时间: 2012-12-23 17:07
提高安全性。也可以增加过滤关卡。比如你可以限制,只接受岁数大于30的人信息。如果超过这个岁数了就另外处理啊什么的。
作者: 冯鸿昌    时间: 2012-12-23 20:31
可以对Field赋值,前提是public。但由于类的封装性一般不这么用。
作者: 阮佳佳    时间: 2012-12-23 21:53
首先,类里的字段如果是public,从外界访问的时候是可以给字段赋值的。但是出于安全考虑,一般在类里,我们把用于与外界交互的字段封装成属性。 在属性里有get 和set方法,用于对字段进行取值和赋值。同时也提高了安全性。
作者: 王靖雯    时间: 2012-12-24 15:05
其实是可以赋值的,将其设置为公有的。但是,为了程序的可维护性安全性等的考虑,一般不采用这样的方式,我们都是将其设为私有的字段,在属性中对其进行操作
作者: 赵小江    时间: 2012-12-25 03:52
类里面可以直接给字段赋值.不过通常把字段封装成属性:GET和SET.前者读,后者写.去掉哪个就不能对字段进行相应的操作.
作者: HM刘磊    时间: 2012-12-25 23:27
主要是提高安全性,防止外界随意给字段赋值,一般其设置为Private。
  通过属性来访问类的成员可以更好的对外界所赋值进行条件判断。
作者: 管冉    时间: 2012-12-25 23:52
本帖最后由 管冉 于 2012-12-25 23:54 编辑

public开头的字段可以赋值;
一般的字段都是使用private头,这样该字段只能在定义该字段的类中赋值,但意义不大,如需要在其他类下进行赋值,一般通过属性来实现。从而达到面向对象中的“封装”的目的
作者: 黄林    时间: 2012-12-26 14:22
主要是为了保护字段,提高安全性,所以一般将字段封闭为属性,并通过get,set来过滤非法值,这里面get和set可以带访问修饰符,如protected




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